2012-02-25 11 views
5

जब मैं पृष्ठभूमि में प्रवेश करता हूं तो ऑडियो स्ट्रीम चलाने में परेशानी हो रही है।MPMoviePlayerController पृष्ठभूमि में ऑडियो स्ट्रीम खेल रहा है

मैं कोड का उपयोग धारा शुरू करने के लिए:

NSURL *mediaURL = [NSURL URLWithString:@"http://url.to.my.stream"]; 

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:mediaURL]; 

[[NSNotificationCenter defaultCenter] addObserver:self 

             selector:@selector(moviePlayBackDidFinish:) 

              name:MPMoviePlayerPlaybackDidFinishNotification 

              object:nil]; 



[mp setControlStyle:MPMovieControlStyleFullscreen]; 

[mp setMovieSourceType:MPMovieSourceTypeStreaming]; 

[mp setFullscreen:YES]; 



[self.view addSubview:[mp view]]; 



[mp prepareToPlay]; 

[mp play]; 

यह सही काम करता है। लेकिन जब भी मैं पृष्ठभूमि में प्रवेश करता हूं, स्ट्रीम स्ट्रीम बंद हो जाता है, तब भी मैं संपत्ति सूची में ध्वज 'ऐप बजाता हूं' सेट करता हूं।

मैं अपने एप्लिकेशन को पृष्ठभूमि में ऑडियो स्ट्रीम कैसे चला सकता हूं?

सर्वश्रेष्ठ संबंध और सहायता के लिए बहुत बहुत धन्यवाद!

उत्तर

9

मैं इसे अपने आप करने की कोशिश की थी, लेकिन इस होनहार लग रहा है: iOS Multitasking: Background Audio

एक बार परियोजना एपीपी-Info.plist को जाने बना दिया गया है और एक नई पंक्ति के रूप में UIBackgroundModes जोड़ें। इसके बाद इसे सरणी बनाना चाहिए।

सरणी खोलें और आइटम 0 के दाईं ओर ऑडियो पर सेट करें।

संपादित

अपने AVAudioSession ठीक तरह से स्थापित है?

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[audioSession setActive:YES error:nil]; 
+1

हाँ मैंने वह किया, लेकिन यह काम नहीं किया। इस ट्यूटोरियल में लड़का AVAudio फ्रेमवर्क का उपयोग कर रहा है। मैं मीडिया प्लेयर का उपयोग कर रहा हूं क्योंकि एवी फ्रेमवर्क किसी कारण से मेरी ऑडियो स्ट्रीम नहीं चलाता है ... – MrBr

+0

मेरे संपादन पर एक नज़र डालें। – dom

+1

धन्यवाद आदमी !! यह चाल है :-) – MrBr

0

इस कोड मेरे लिए काम किया, पहले आप पृष्ठभूमि में संगीत बजाने (अपने .plis में) रखने के लिए, उसके बाद की कामना की कक्षा में जाने के लिए और इस कोड को लागू अपने ऐप अनुमतियों को देने के लिए करना चाहिए, पहले आयात और संगीत चलाने के लिए विधि।

#import <MediaPlayer/MPNowPlayingInfoCenter.h> 
#import <MediaPlayer/MPMediaItem.h> 
#import <AVFoundation/AVFoundation.h> 

---- ओ ----

-(void) playMusic{ 

    [[AVAudioSession sharedInstance] setDelegate: self]; 

    NSError *myErr; 

    // Initialize the AVAudioSession here. 
    if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&myErr]) { 
     // Handle the error here. 
     NSLog(@"Audio Session error %@, %@", myErr, [myErr userInfo]); 
    }else{ 
     // Since there were no errors initializing the session, we'll allow  begin receiving remote control events 
     [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    } 

    //initialize our audio player 
    audioPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://www.cocoanetics.com/files/Cocoanetics_031.mp3"]]; 

    [audioPlayer setShouldAutoplay:NO]; 
    [audioPlayer setControlStyle: MPMovieControlStyleEmbedded]; 
    audioPlayer.view.hidden = YES; 

    [audioPlayer prepareToPlay]; 

    [audioPlayer play]; 
}//end playmusic 
+0

यदि आप अपने कोड के साथ स्पष्टीकरण प्रदान करेंगे तो इससे मदद मिलेगी। हाइलाइट करें कि क्या अलग है और आप इसे कैसे काम करते हैं। कोड केवल जवाब फेंक रहे हैं। –

संबंधित मुद्दे