0

さまざまなサウンドを再生する多くのボタンがあります。各ボタンをクリックすると、異なる mp3 が再生されます。コード例:

<a onclick="this.firstChild.play()"><audio src="1.mp3"  ></audio>1</a>

モバイル デバイスの場合、同じ mp3 ファイルからすべての異なるサウンドを再生しようとしているので、1 つのファイルをプリロードして、より瞬時に体験することができます。

そのため、クリックしたときに再生される mp3 の開始点と終了点を設定する必要があります。

オーディオhtml5またはjavascriptを使用してそれを行うにはどうすればよいですか? クロムだけで作業するだけで十分です...

4

2 に答える 2

0

私はこのコードをテストしていませんが、これはうまくいくはずです:

<a id="audioTag1"><audio src="1.mp3"  ></audio>1</a>
var canPlay = false;
var audio = document.getElementsByTagName('audio')[0];

document.getElementById('audioTag1').addEventListener('click', function(){
    playAudio(15);
});

audio.addEventListener('canplay', function() { // listen for the `canplay`event, to make sure the file is loaded.
    canPlay = true; // Set a boolean to "true" once the audio has loaded.
});

function playAudio(time){
    audio.currentTime = time; // jump to 15 secs into the file
    audio.play(); // I'm not certain if this line is necessary.
}

JS コードは必ずonloadイベント リスナーで実行してください。これにより、コードの実行時にオーディオ タグが読み込まれます。

于 2013-01-23T13:12:48.033 に答える