0

onClickリンクのイベントがあり、そこで次の行を使用してオーディオを再生しています。

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

ただし、最初のメディアの再生が完了する前にユーザーがリンクを 2 回クリックすると、同じファイルが再び同時に再生されます。メディアが現在再生されている場合、再生を防止する方法はありますか?

のコールバック イベントがありますが、mediaStatus文書化されていません。

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

4

1 に答える 1

0

phonegap media apiを使用すると、オーディオプレーヤーを手動で作成します。したがって、プレーヤーの状態をプログラムで管理する必要があります。

メディアプレーヤーには1つのコントロールがあるはずなので、再生ボタンがあるHTMLDOM要素の状態を保持します

//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 に答える