2017-11-11 12 views
0

ファイルがArduinoから'playMusic'イベントを受け取ったときに曲を再生しようとしていますが、私はUncaught TypeError: Cannot read property 'play' of undefined at EventSource.<anonymous>になります。私は、オーディオが曲ファイルが準備される前に再生しようとしているが、イベントリスナーでwindow.onload関数を組み合わせても何も起こらないため、これが原因である可能性があることを読んだ。イベントを呼び出して曲ファイルをロードするのに十分な時間を補うために、2秒間の遅延を追加しましたが、同じエラーが表示されます。jQuery/Javascriptを使用して曲を再生する

<html> 
    <title>Song Time</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script> 

    <body> 
     <audio id="song"> 
      <source src="song.mp3" type="audio/mpeg"> 
     </audio> 

     <script type="text/javascript"> 
      var eventSource = new EventSource("https://api.particle.io/v1/devices/2d0024001047363330363431/events/?access_token=bdde583943e53ea709aa421a2e618d024700b2f1"); 

      eventSource.addEventListener('playMusic', function(e) { 
       //window.onload=function() { 
        console.log("here"); 
        $('song')[0].play(); 
       //} 

      }); 
     </script> 
    </body> 
</html> 

Uncaught TypeError: Cannot read property 'play' of undefined 
    at EventSource.<anonymous 
+2

'$( '#曲')'あなたは# – James

+0

あなたのAPIを忘れてしまった –

答えて

0

クレジットあなたは#を忘れてしまった - ジェームズ

0

この機能にjQueryの問題だと同様に、funciton playは純粋なJSと正常に動作しているようでいます。 は、ここに抜粋です:

@James

$( '#曲')へ

document.getElementById("play").addEventListener('click', function(e) { 
 
    console.log("play"); 
 
    document.getElementById("song").play(); 
 

 
}); 
 

 
document.getElementById("stop").addEventListener('click', function(e) { 
 
    console.log("stop"); 
 
    document.getElementById("song").pause(); 
 
    document.getElementById("song").currentTime = 0; 
 

 
}); 
 

 
document.getElementById("pause").addEventListener('click', function(e) { 
 
    console.log("stop"); 
 
    document.getElementById("song").pause(); 
 

 
});
<html> 
 
<title>Song Time</title> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script> 
 

 
<body> 
 
    <audio id="song"> 
 
      <source src="http://www.cedarhome.org/mp3/songs/01%20Battlecry.mp3" type="audio/mpeg"> 
 
    </audio> 
 
    <br /> 
 
    <input type="button" value="play" id="play" /><br /> 
 
    <input type="button" value="pause" id="pause" /><br /> 
 
    <input type="button" value="stop" id="stop" /><br /> 
 
</body> 
 

 
</html>

関連する問題