我正在使用phonegap 创建一个RSS 播放器应用程序。除了暂停/恢复功能之外,一切都正常。暂停很好,但是当再次按下暂停按钮(恢复播放)时,它会返回到 mp3 的开头。我的代码如下。任何帮助将不胜感激。
function onDeviceReady() {
//window.alert("Loading PhoneGap is completed");
}
var media = null;
var mediaTimer = null;
function playAudio() {
//get url passed from previous screen.
var mp3 = localStorage.getItem("url_to_play");
var src = mp3;
media = new Media (src , onSuccess, onError);
//Play the audio. You can set number of the replaying time here.
media.play({numberOfLoops:"infinite"});
if (mediaTimer == null) {
mediaTimer = setInterval(function() {
// Return a current playback position
media.getCurrentPosition(
//A Callback function if it's success
function(position) {
if (position > -1) {
setAudioPosition((position) + " sec");
//If the playback stops at "-0.001" position, replay the audio.
if(position == -0.001){
media.play({numberOfLoops:"infinite"});
}
}
},
//A callback function in case of failure
function(e) {
console.log("Error getting pos=" + e);
setAudioPosition("Error: " + e);
}
);
}, 1000);
}
}
function pauseAudio() {
if (media) {
media.pause();
}
}
function stopAudio() {
if (media) {
media.stop();
}
clearInterval(mediaTimer);
mediaTimer = null;
}
最佳答案
我通过执行以下操作对此进行了排序:
if(media === null){media = new Media (src , onSuccess, onError);}
仅当新媒体对象不存在时才创建它。如果它确实存在,那么它已经在播放并且不需要它。
关于javascript - Phonegap 媒体 API 暂停/恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27081830/