2017-01-06 51 views
0

我試圖使用Safari的Airplay的API來播放音頻文件到的Airplay設備:的Airplay音頻僅使用Safari

<audio id="player" src="audio.mp3" controls style="width: 100%"></audio> 
<button id="airplay" disabled>airplay</button> 

<script> 
    const player = document.getElementById('player'); 
    const airplay = document.getElementById('airplay'); 

    player.addEventListener('webkitplaybacktargetavailabilitychanged', e => { 
     airplay.disabled = e.availability !== 'available'; 
    }); 

    airplay.addEventListener('click',() => player.webkitShowPlaybackTargetPicker()); 
</script> 

的按鈕按預期工作,但該設備無法播放。 我嘗試使用AppleTV,當我嘗試使用它時,屏幕閃爍並且什麼都沒有發生(沒有音樂,播放器暫停)。

我嘗試過一個AAC文件,其行爲是相同的。

有什麼建議嗎?

+0

嘗試添加到你的''

+0

仍然有問題? – TheCrazyProfessor

回答

0

試試這個

<audio id="player" src="audio.mp3" controls style="width: 100%"></audio> 
<button id="airplay">airplay</button> 

<script> 
var audio = document.getElementById("player"); 
var airplay = document.getElementById("airplay"); 

// Safari 9+ 
if (window.WebKitPlaybackTargetAvailabilityEvent) { 
    audio.addEventListener('webkitplaybacktargetavailabilitychanged', function(event) { 
     airplay.addEventListener('click', function() { 
      audio.webkitShowPlaybackTargetPicker(); 
     }); 
    }); 
} 
</script> 

如果它不工作,只寫回

+0

基本上,這是我在我的問題中寫的代碼,我沒有看到你的觀點。感謝您的幫助 – Neovov

+0

@Neovov無論如何都可以試用它,它適合我,所以也許它也適合您? :) – TheCrazyProfessor