电话间隙媒体 API 暂停/恢复
Phonegap media api pause/resume
我正在创建一个带有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);}
仅当新媒体对象不存在时才创建它。如果它确实存在,那么它已经在播放并且不需要这个。
相关文章:
- 如何临时暂停浏览器渲染,然后恢复整个页面
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- 如何暂停和恢复jquery间隔
- 我如何暂停和恢复这个动画,它可以用纯CSS完成吗
- 当用户将鼠标移到屏幕/图表上时,自动滚动将暂停.如果鼠标移动停止,自动滚动将再次恢复
- 暂停和恢复setTimeouts数组
- Web Audio API从暂停状态恢复
- WebRTC 暂停和恢复流
- 需要能够暂停和恢复设置超时
- 蒸发.js暂停/恢复
- 电话间隙媒体 API 暂停/恢复
- NodeJS流暂停/恢复不适用于XMLHttpRequest,但适用于curl
- PhantomJS-暂停/恢复javascript执行
- 用Rhino在Java中解释JavaScript:暂停/恢复脚本
- 如何完全停止jQuery循环函数的运行(不是暂停/恢复)
- JWPlayer -禁用点击视频暂停/恢复
- 是否可以从JS暂停/恢复/操作一个swift对象?
- javascript倒计时定时器暂停恢复
- Howler js暂停/恢复故障
- jQuery暂停/恢复动画