2013-05-29 12 views
5

W mojej aplikacji ostrzegam użytkownika dźwiękiem, który odtwarzam używając AVAudioPlayer.Odtwarzaj dźwięk w tle za pomocą AVAudioPlayer bez zatrzymywania muzyki w iPodzie.

Teraz chcę, aby ten dźwięk był odtwarzany, nawet gdy aplikacja jest na tle. Więc mogę to osiągnąć, ustawiając kategorię AVAudioSession jako AVAudioSessionCategoryPlayback i chcę również, aby ten dźwięk nie zatrzymywał muzyki ipod i mogę to zrobić ustawiając AVAudioPlayer kategorię AVAudioSessionCategoryAmbient.

Ale chcę, żeby razem, dźwięk powinien również odtwarzać się w tle i nie powinien również zatrzymywać muzyki ipod.

Jak mogę to osiągnąć?

Jeśli nie można odtwarzać dźwięku w kategorii AVAudioSessionCategoryAmbient w tle, należy zastosować inne obejście tego problemu?

Przepraszam, jeśli robię jakiś błąd.

Dzięki.

+0

pleae przyjrzeć to:-http: //stackoverflow.com/questions/7619794/play-music-in-the-background-using-avaudioplayer –

+0

jej nie działa – Unnati

+0

Ty możliwe, Odtwarzanie w tle odbywa się bez zatrzymywania muzyki z iPoda (lub innej aplikacji odtwarzającej tło). – rckoenes

Odpowiedz

4

Musisz dodać jeden wiersz w pliku project.plist Required background modes jak obraz poniżej i ustawić go.

enter image description here

i umieścić kod miech na swoim appdelegate projektu didFinishLaunchingWithOptions

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    NSError *error; 
    BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error]; 
    if (!success) { 
     //Handle error 
     NSLog(@"%@", [error localizedDescription]); 
       } else { 
        // Yay! It worked! 
       } 

jego pracy dla mnie nadzieję, że jego użyteczne dla was moje frnd al najlepszy.

UPDATE

Nie można uruchomić AVAudioPlayer i odtwarzacza iPod lub MPMusicPlayer lub MPMoviePlayer w tym samym czasie, nie robiąc nieco więcej pracy. Jeśli chcesz, to użyj System Sound.

patrz ten miech link: -

iPhone AVAudioPlayer stopping background music

Proszę sprawdzić miech link istnieje demo Odtwarzanie plików audio w tle. Proszę sprawdzić to

http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_background-audio/

+0

Nie działa, gdy aplikacja jest w tle. – Unnati

+0

sprawdź moją zredagowaną odpowiedź i sprawdź wersję demonstracyjną –

+0

działa ona w tle, ale zatrzymuje odtwarzanie muzyki ipod. – Unnati