2012-01-09 3 views
8

우리는 음악 지향 응용 프로그램을 html5로 만들고 자바 스크립트를 Sencha touch로 제작했습니다. 배포를 위해 xcode에서 UIwebView로 래핑했습니다. 작동하지 않는 한 가지 : 멀티 태스킹 모드에서 오디오를 재생하는 것 외에는 모두 정상적으로 실행됩니다.iOS 백그라운드 모드에서 html5 플레이어에서 오디오 재생 계속

저는 일반적인 생각을 알고 있습니다 : info.plist에 UIBackgroundModes를 추가하십시오.

완료. 이제 배경 모드에서도 오디오를 재생할 수 있습니다.

노래가 끝날 때까지 다음 곡을 시작하려면 앱을 다시 포 그라운드로 가져와야합니다. 그렇지 않으면 iPhone 오디오 컨트롤러에서 재생 또는 '다음 곡'버튼을 누를 수 있습니다. 해결 방법이 AVAudioSessionCategoryPlayback을 편집하고 UIBackgroundTaskIdentifier와 함께 작업하는 것입니다 "Entering background on iOS4 to play audio"

은 몇 가지 조사 후 나는에서 유망한 해결 방법을 발견했다. 나를위한 문제는 (내가 지금까지 발견 한 다른 모든 수정에서와 마찬가지로) 솔루션은 항상 오디오가 AVaudioPlayer 또는 MPMusicPlayerController로 재생된다고 가정합니다. 하지만 제 경우에도 저는 사용자가 아니며 우리의 오디오는 UIwebView에 싸인 html5 플레이어에서 재생됩니다.

오디오 플레이어가 html5/javascript 플레이어 인 경우 iOS 멀티 태스킹 모드에서 오디오를 계속 재생하는 방법에 대한 조언이 있습니다.

답변

1

감사합니다.하지만 백그라운드 모드에서 앱을 루프 상태로 유지하는 것으로 끝났습니다. 이것은 재생 목록의 다음 노래에 연결할 때 시간을 메우기에 충분했습니다. 내가 사용한 코드는이 코드와 비슷합니다. iPhone - Backgrounding to poll for events

4

내 앱은 UIWebView에 호스팅 된 html의 <audio> 태그를 통해 오디오를 재생하며 배경 재생을 지원합니다.

제안 사항에 따라 plist에 정의 된 '앱 재생 오디오'배경 모드가 있어야합니다. 당신의 applicationDidFinishLaunching: 핸들러이 추가

시도 :

NSError *setCategoryError = nil; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError]; 
0

당신은 onend 이벤트에 기능을 추가, this을 시도 할 수 있습니다.

관련 문제