0

サウンド ファイルを再生する JavaScript 関数があります (phonegap を使用)。img src通常は正常に動作しますが、ファイルのダウンロード中に読み込み中のアイコンに変更したいと考えています。ただし、ファイルの再生後に src が変更されます。

src の末尾に追加しようとしまし+new Date().getTime()たが、役に立ちませんでした。何かアイデアはありますか?

function playSound(){


var img = $(this).prev();

img.attr("src", "css/images/ajax-loader.gif?"+new Date().getTime());


var url = "http://some.com/fanky.mp3";   
mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
mediaTTS.play();

}
4

2 に答える 2

0

これはおそらく、現在の実行ループが終了するまで画像が再描画されないためです。がブロックしている場合Media.play()、再生が終了するまで画像の変更が表示されない場合があります。

私の疑いを確認するには、次のコードを試してください。

function playSound(){
    var img = $(this).prev();
    img.attr("src", "css/images/ajax-loader.gif?"+new Date().getTime());
    setTimeout(function() {
        var url = "http://some.com/fanky.mp3";   
        mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
        mediaTTS.play();
    }, 100);
}
于 2012-09-04T22:06:32.190 に答える
0

src 属性を削除してから、別の src で再度追加してみてください

function playSound(){
  var img = $(this).prev();
  img.removeAttr("src").attr("src","css/images/ajax-loader.gif?"+new Date().getTime());
  var url = "http://some.com/fanky.mp3";   
  mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
  mediaTTS.play();
}
于 2012-09-04T22:07:27.930 に答える