2016-01-09 67 views
0

我正在使用Ajax從數據庫中獲取音頻源。我成功地拿走了這些數據,但問題在於它沒有發揮作用。HTML5音頻標籤動態src ajax它不會播放

<label>balay</label> 
<audio id="audio" src="" type="audio/wav"> 

這是HTML

$('label').hover(function(){ 
var ex = $(this).html(); 
$.post('../php/fetchAudiosrc.php' , {input:ex} , function(data){ 
    $('#audio').attr("src", data); 
    $('#audio').get(0).play(); 
} 

我不需要顯示fetchAudiosrc.php因爲它返回正確的數據。問題是音頻沒有真正發揮。

+0

嘗試'$(「#音頻」)播放();' – azad

+1

不能直接設置音頻媒體的原始數據轉換成音頻的src,你必須要麼將其轉換爲blobURI('audio.src = URL.createObjectURL(new Blob([data],'audioMIMEType'));'或者將'.responseType'設置爲''blob''使用原生的'XMLHttpRequest',它是一個dataURI'audio.src ='data:audio/audioType,base64'+ btoa(data)'。但最簡單的方法仍然是離開ajax調用並直接將音頻src設置爲正確的url。 – Kaiido

+0

@Azzi i我已經嘗試過了。 –

回答

0

HTML是在一個文件夾,所以我連接scr witg ../抱歉打擾。並感謝您的支持。

$('label').hover(function(){ 
var ex = $(this).html(); 
$.post('../php/fetchAudiosrc.php' , {input:ex} , function(data){ 
    $('#audio').attr("src", '../'+data); 
    $('#audio').get(0).play(); 
}