簡體   English   中英

TypeError:undefined'不是函數(評估'myAudio.play()')“

[英]TypeError: undefined' is not a function (evaluating 'myAudio.play()')"

音頻文件無法在Safari中播放。它給出了一個錯誤。

TypeError: 'undefined' is not a function (evaluating 'myAudio.play()')

這是我的HTML代碼。

<audio>
  <source src="audio/horse.ogg" type="audio/ogg">
  <source src="audio/horse.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>    

這是我的JavaScript代碼

myAudio = document.getElementsByTagName('audio')[0];
if (typeof myAudio.loop == 'boolean'){
  myAudio.loop = true;
}
else{
  myAudio.addEventListener('ended', function() {
  this.currentTime = 0;
  this.play();
   }, false);
}   
myAudio.play();

我在HTML中只有一個音頻標簽。

我在Windows PC上也遇到類似的問題。

因此,為了進行測試,我創建了一個帶有一個紅色大點的簡單HTML文件,然后單擊該文件將播放音頻。 它可用於所有HTML5兼容的瀏覽器(野生動物園除外)。 我花了整整一天的時間,嘗試了100多種不同的解決方案,使其能夠在Safari中使用,但是沒有運氣。

最后,我安裝了QuickTime(最新版本),它解決了50%的問題。

剩下的50%的問題是代碼結構。

<audio id="audio1" src="audio/guestProfile.ogg" type="audio/ogg" ></audio>
<audio id="audio1" src="audio/guestProfile.mp3" type="audio/mpeg"  ></audio>

它不喜歡上面的代碼。 所以我不得不將其更改為以下內容:

<audio id="audio1">
    <source src="audio/guestProfile.ogg" type="audio/ogg">
    <source src="audio/guestProfile.mp3" type="audio/mpeg">
    Your browser does not support the audio tag.
</audio>

這可能不是一個完美的解決方案。 但這對我有用。

它永遠不會在Windows Safari上運行,因為最新的Windows Safari於2010年發布。這就是HTML5: <audio><video>標記在Windows Safari中不起作用的原因。 測試自己

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM