2013-06-04 3 views
2

온라인 스트림에서 음악을 재생하는 PhoneGap이있는 앱을 만들었습니다. iPhone은 잠긴 상태에서 계속 백그라운드에서 재생되지만 걸려 오는 전화가 도착하면 멈 춥니 다.Phonegap iPhone에서 걸려 오는 전화 통화 후 HTML5 오디오가 재생되지 않음

문제는 전화 통화가 끝나면 음악이 더 이상 울리지 않는다는 것입니다. HTML5 audio 요소를 사용하여 스트림을 재생하고 내 앱 추적에서 전화가 끝난 후 playplaying HTML5 오디오 요소 이벤트가 발생 함을 보여줍니다.

그러나 음악이나 사운드가 전혀 생성되지 않습니다.

답변

0

앱에서 Cordova의 일시 중지 및 다시 시작 이벤트에 연결하여 일시 중지 상태 인 경우 앱이 일시 중지되어 아무 것도 재생하지 않습니다. 다시 시작 이벤트에서 재생 기능을 호출해야합니다. 포어 더 많은 정보는 이벤트를 참조하십시오 http://cordova.apache.org/docs/en/2.6.0/cordova_events_events.md.html#Events

+0

죄송합니다,하지만 내 경우에 대한 해결책입니다. 응용 프로그램이 백그라운드로 이동하면 '일시 중지'이벤트가 트리거되고 (음악이 여전히 백그라운드에서 재생중인 경우에도) 이벤트가 시작되면 '다시 시작'이벤트가 트리거됩니다. 전화 통화가 시작될 때와 전화 통화가 끝날 때 유사한 이벤트가 발생하면 작동 할 수 있습니다. –

0

오디오 장치가 앱 을 활성화하기 전에 재생 명령이 실행될 때 발생합니다.

그래 그것 때문에 전화는, 한마디로 그것은 ends.if 통화 후 오디오 장치를 시작하는 데 몇 초가 소요, 그것은 몇 초를 필요로 오디오 재생을 다시 응용 프로그램 &을 얻기 위해 도착 응용 프로그램 종료의 당신의 오디오 장치 전에 실행 놀이 명령은 응용 프로그램

당신은 안드로이드 프로그래머로서 코르도바의 이력서 이벤트

+0

전화가 시작되면 iOS에서 내 앱의 오디오를 자동으로 중지합니다. 통화가 끝나면 iOS는 자동으로 내 앱에서 오디오를 계속 재생합니다. 당신이 말하는 것은 많은 의미가 있지만,'resume' 이벤트를 처리하는 것만으로 오디오 장치가 준비되기 전에 iOS가 자동으로 오디오 재생을 시작하는 것을 막을 수 있습니까? –

0

하여이를 해결할 수있는 유사한 문제가 위해 시작됩니다. HTML5를 수행하는 CordovaWeb 뷰를 처리 할 때 전화 통화와 같은 다른 작업에 대한 작업이 중단되면 코드에서 처리해야합니다. 안드로이드에서 인터럽트가 발생하면 onPause 또는 이와 유사한 함수가 호출됩니다. 그 안에는 웹 뷰용 페이지의 상태와 URL을 저장해야합니다.

뒤로 이동하면 상태를 복원해야합니다.

나는 이것이 iOS이지만 안드로이드에서 말하고있는 것을 알고 있지만, 그런 것들을 할 때 약간의 중첩이있다.

참조 : Save & restoring WebView in an embedded PhoneGap app

관련 문제