Cordova Android如何暂停音频停止?

时间:2016-07-21 13:22:22

标签: android cordova audio onpause

我的一位同事与Cordova一起制作了一个跨平台游戏应用程序。现在他正在度假,我遇到了问题,如果你按下主页按钮离开应用程序,应用程序的背景音乐仍在播放。如果你打个电话也是。

我尝试将Android <preference name="KeepRunning" value="false"/>设置为true,但这并没有帮助。

知道该怎么做,处理这个问题?

3 个答案:

答案 0 :(得分:1)

我自己找到了一个anwser:

我们必须设置<preference name="KeepRunning" value="true"/>然后添加此事件:

function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

// device APIs are available
//
function onDeviceReady() {
    document.addEventListener("pause", onPause, false);
    document.addEventListener("resume", onResume, false);
}

function onPause() {
    // Handle the pause event
    // Set loudness to zero
}

function onResume() {
    // Handle the resume event
    // Set loudness to one

}

如果KeepRunning设置为false,Cordova无法识别onPause / onResume事件。

答案 1 :(得分:1)

使用cordova pause事件:

document.addEventListener('pause', function() {
  // Tell your audio library to pause here
});

当用户重新打开应用时,resume事件将会触发:

document.addEventListener('resume', function() {
  // Tell your audio library to start playing again
});

答案 2 :(得分:1)

我的问题是,在应用程序恢复后触发了onPause事件。 -.- 但我可以找出一个有效的小黑客。至少对我而言:

document.addEventListener("visibilitychange", function() {
        if (document.hidden) {
            //onPause stuff
        } else {
            //onResume stuff
        }

    }, false);

当游戏最小化,设备关闭或标签切换时,这适用于Android。