防止媒体重播

时间:2012-09-03 21:49:18

标签: javascript cordova

链接有onClick个事件,我正在那里使用这些线路播放音频:

tts = new Media(url, onSuccessTTS, onErrorTTS);
tts.play();

但是,如果用户在完成播放第一个媒体之前在链接上第二次单击,则它会再次同时播放同一个文件。如果当前正在播放媒体,有没有办法阻止播放?

mediaStatus有一个回调事件,但没有记录。

http://docs.phonegap.com/en/1.0.0/phonegap_media_media.md.html

1 个答案:

答案 0 :(得分:0)

使用phonegap media api,您可以手动创建音频播放器。因此,您必须以编程方式管理播放器的状态。

由于您的媒体播放器应该有一个控件,我会将状态保留在具有播放按钮的HTML DOM元素上

//on click
var $el = $(this); //or $('someselector');

//check if you have already added the playing state to the element
if ($el.data('state') == 'playing') {
    //pause or ignore
} else {
    $el.data('state', 'playing');  //save state on element
    tts = new Media(url, onSuccessTTS, onErrorTTS);
    tts.play();
} // handle stopped if needed

BTW phonegap最高为2.0版,因此请考虑使用2.0 media api