在iPhone上拨打电话后,Phonegap HTML5音频无法恢复播放

时间:2013-06-04 17:18:09

标签: iphone ios cordova html5-audio

我创建了一个使用PhoneGap的应用程序,可以播放来自在线流的音乐。当iPhone被锁定时,它会继续在后台播放,但是当有来电时,它会停止播放。

问题是当电话结束时,音乐不再响起。我使用HTML5 audio元素来播放流,我的应用跟踪向我显示,电话结束后会触发playplaying HTML5音频元素事件。

然而,根本不会产生任何音乐或声音。

3 个答案:

答案 0 :(得分:0)

在你的应用程序中连接到暂停并恢复Cordova事件,如果你处于暂停状态,那么你的应用程序将被暂停并且不会播放任何内容。您应该在resume事件上调用play函数。更多信息请参阅活动:http://cordova.apache.org/docs/en/2.6.0/cordova_events_events.md.html#Events

答案 1 :(得分:0)

  

在启用音频设备之前执行播放命令时会发生这种情况   为您的应用程序。

是的,这是因为当你的电话到来时应用程序关机,回到app&播放音频需要几秒钟,简而言之,在通话结束后需要几秒钟才能启动音频设备。如果您的应用启动音频设备之前执行了播放指令

你可以通过cordova的简历活动来解决这个问题

答案 2 :(得分:0)

作为一名Android程序员,也有类似的问题。在处理执行HTML5的CordovaWeb视图时,如果活动因其他内容而中断,例如电话呼叫,则需要在代码中处理。在Android中,当有中断时,会调用onPause或类似内容。在其中,你需要保存状态,以及webview页面的URL。

当您向后导航时,您需要恢复状态。

我知道我在Android中说这是iOS,但在做这样的事情时会有一些重叠。

请参阅:Save & restoring WebView in an embedded PhoneGap app