1

こんにちは、複数の画像を再生してさまざまな曲を一時停止できるようにしようとしています。これまで、画像が選択されているときに曲の再生を達成しましたが、一時停止して別の画像をクリックして再開しようとすると、目的のファイルではなく前のファイルが再開されます以下はコードです

Javascript

function StartOrStop(audioFile)
  {
    var audie = document.getElementById("myAudio");
    if(!audie.src || audie.src !== audioFile) 
       audie.src = audioFile;
    if(audie.paused == false)
     {
        audie.pause();
     }
     else
     {
       audie.play();
     }
  }

HTML

<img src="images/play.png" alt="Play Button" width="57" height="50" onclick="StartOrStop('RWY.mp3')">

<img src="images/play.png"  alt="Play Button" width="57" height="50" onclick="StartOrStop('EL.mp3')">

    <audio controls id="myAudio" ></audio>

この問題を解決する方法について何か提案はありますか?

4

2 に答える 2

0

こんにちは、なぜこれが機能しないのかわかりません。コードを少し作り直したので、これを試してください

 function StartOrStop(audioFile)
{
var audie = document.getElementById("myAudio");
//logs to see filenames
console.log("audio src " ,audie.src); //this will output a full url e.g with www.example.com/file.mp3
console.log("file ", audioFile); // this only outputs what you pass in e.g "file.mp3"
//with the www.example.com the if statement below will be false as www.example.com/file.mp3 is not equal to file.mp3. Either change the onclick event of the images to include the full path or edit the if statement to
// if(audie.src.indexOf(audioFile) != -1){

if( audie.src == audioFile){ 
   audie.paused ? audie.play() : audie.pause();
}else{
     audie.src = audioFile;
     audie.play();
}

}

私はこれを自分のマシンでローカルに実行しましたが、希望どおりに機能します

于 2013-03-23T17:53:39.970 に答える
0

これを試してみてください、今
それがあなたを助けることを願っています......

JAVASCRIPT コード

function Start(audioFile)
{
var audie = document.getElementById("myAudio");
    console.log("audio src " ,audie.src);
    console.log("file ", audioFile); 


    if( audie.src == audioFile){
       audie.paused ? audie.play() : audie.pause();
    }else{
     audie.src = audioFile;
     audie.play();
}

}

 function Stop(audioFile)
{
var audie = document.getElementById("myAudio");

console.log("audio src " ,audie.src);
console.log("file ", audioFile);

if( audie.src == audioFile){
   audie.paused ? audie.play() : audie.pause();
}else{
     audie.src = audioFile;
     audie.Pause();
}

}

================================================== =====
HTML コード

<img src="images/play.png" alt="Play Button" width="57" height="50" onclick="Start('RWY.mp3')">
<br>
<img src="images/stop.png"  alt="StopButton" width="57" height="50" onclick="Stop('EL.mp3')">
<br>
    <audio controls id="myAudio" ></audio><br>
于 2013-12-07T14:44:06.903 に答える