0

onClick一个链接事件,我在那里使用这些行播放一些音频:

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

但是,如果用户在播放完第一个媒体之前第二次点击链接,它会再次同时播放相同的文件。如果当前正在播放媒体,有什么方法可以阻止播放?

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

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

4

1 回答 1

0

使用 phonegap 媒体 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

顺便说一句,phonegap 最高版本为 2.0,因此请考虑使用2.0 媒体 api

于 2012-09-03T22:03:30.737 回答