1

これは私のスクリプトです

function playSound(soundfile) {

document.getElementById("ui-btn-text").innerHTML=document.getElementById("ui-btn-text").innerHTML +
"<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";

}

これは私のコードの一部です

<a style='font-family:Arial,Helvetica,sans-serif;font-size:200%;' 
id="ui-btn-text" onclick="playSound('image/button.mp3');" 
href="#" data-ajax="false" data-transition="slide"></a>

オーディオ ファイルが再生されない理由がわかりません。

または、私がやっていることに対するより良い解決策はありますか?

4

1 に答える 1

1

あなたがそれを書いた方法は、次のような HTML になるはずです。

<a style='font-family:Arial,Helvetica,sans-serif;font-size:200%;' id="ui-btn-text" onclick="playSound('image/button.mp3');" href="#" data-ajax="false" data-transition="slide">
    <embed src="image/button.mp4" hidden="true" autostart="true" loop="false" />
</a>

すでに非表示にする場合は、ページのどこかに残しておき、ボタンがクリックされたときにオーディオが再生されるようにします。autostart="false"ボタンがクリックされたときに mp4 を再生するように JS/JQuery を設定して使用します。

HTML

<a style='font-family:Arial,Helvetica,sans-serif;font-size:200%;' id="ui-btn-text" onclick="playSound('ui-btn-sound');" href="#" data-ajax="false" data-transition="slide">
</a>
<embed src="image/button.mp4" hidden="true" autostart="false" loop="false" id="ui-btn-sound" />

JavaScript

function playSound(id) {
    var audioFile = document.getElementById(id);
    audioFile.Play();
    return false;
}

個人的には、HTML5audioタグを使用することをお勧めし、必要に応じて埋め込みオプションにフォールバックします。

<audio controls>
    <source src="image/button.mp4" type="audio/mp4">
    <!-- Fail Over -->
    <embed src="image/button.mp4" hidden="true" autostart="false" loop="false" id="ui-btn-sound" />
    <a href="" onclick="playSound('ui-btn-sound')">Play</a>
</audio>

このaudioタグには、JS/JQuery を介してその外観と機能を制御する方法も多数あります。などを調べるとよいでしょうaudio.canPlayType('audio/mp4');。これは古い例です。誰かが私に、各音符の間にラグがなく、新しい音符が演奏されたときに他の音符を停止できるピアノを作るように挑戦しました: http://www.yrmailfrom.me/projects/html5/piano .php

編集: これに答えた後、私は簡単な JQM HTML5 プレーヤーを作成することに触発されました: http://www.yrmailfrom.me/projects/html5/audioplay.php

お役に立てば幸いです。

于 2013-01-25T00:51:27.023 に答える