2014-10-22 2 views
1

이미 계약 내역에 대한 질문에 대한 playing audio in background을 몇 있습니다 완료되면 중지하지만, 내 좀 다르다됩니다 (지금까지 내가 볼 수 있기 때문에!)아이폰 OS 배경 오디오는 재생이

그래서 내가 재생 목록을했습니다 내 앱 (사용자가 루프에서 오디오를 재생하도록 선택할 수 있음) 또는 앱에서 사용할 수있는 모든 오디오에 대해 임의/연속 재생.

코드 아래 사용

및 요구의 Info.plist 설정 :

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sharedInstance] setActive:YES error:nil];

의 Info.plist 설정 :

<key>UIBackgroundModes</key> <array> <string>audio</string> </array>

오디오가 백그라운드에서 제대로 작동하고 경우에도 화면이 잠겨 있지만 오디오 재생이 끝나면 문제가 발생합니다. NSLogs를 사용하면 코드가 AudioPlayer의 "재생"방법에 다시 도달하지만 오디오에서 다음 노래 또는 루프에서 재생할 노래가 재생되지 않음을 알 수 있습니다.

누구에게도 포인터가 있습니까?

답변

0

documentation 읽기, 관련 단락 :

내 오디오가 응용 프로그램에 로컬로 저장됩니다. UIBackgroundModes 키에 오디오 값이 포함되어 있으면 시스템의 미디어 프레임 워크가 자동으로 해당 앱이 백그라운드로 이동할 때 일시 중지되지 않도록합니다. 오디오 또는 비디오 콘텐츠를 재생하거나 오디오 콘텐츠를 녹음하는 동안에는 앱이 백그라운드에서 계속 실행됩니다.

그러나 녹음 또는 재생이 중지되면 시스템이 앱을 일시 중지합니다. audioPlayer1.currentTime -

경우 ((audioPlayer1.duration을 : 그래서 본질적으로

, 나는 두 AVAudioPlayers을 사용하고, 대신 audioPlayerDidFinishPlaying의 대리인 콜백 기다리는 :, 나는이 운동했다, 설정 주위에 해킹) < 1) 더 좋은 제안이보다가 있다면 {

//play Audio 2 

}

너무 확실하지?