2

我正在尝试通过 jquery 在模式中填充 HTML5 播放器。目标是根据您是被邀请访问网站还是自己注册来播放两种 mp3 中的一种。我有一个存储 src 路径的隐藏字段,我希望我的 jquery 函数基于该 src 加载音频文件。在页面加载时,音频文件未加载到播放器中。不知道我错过了什么,任何帮助将不胜感激。

HTML

<asp:HiddenField ID="hidModalMsg" runat="server" />

/*Unrelated code*/

<div class="audio" runat="server">
   <audio id="modalPlayer" onload="('#modalPlayer').src='';" controls="controls">
        <p>Your browser does not support the audio element.</p>
   </audio>
</div>

标题中的 Jquery

$(function () {
    var audPlayer = $('#modalPlayer');
    audPlayer.src = $('#<%= hidModalMsg.ClientID%>').val();
});
4

2 回答 2

4

由于不同浏览器的音频源是不同的文件,直接更改音频源是行不通的。它必须根据浏览器进行更改。

因此,请根据浏览器将 src 变量设置为适当的值,有关文件支持,请参见http://www.w3schools.com/html/html5_audio.asp

 var src = ".." // assuming your src has audio file value
 var audio = document.getElementById('audio');
 audio.setAttribute("src", src);
 audio.load();

使用 jQuery

 var src = $('#<%= hidModalMsg.ClientID%>').val();
 console.log(src);
 $('#audio_element').attr('src', src);
于 2013-08-19T18:25:24.593 回答
0

“当元素已经插入视频或音频元素时动态修改源元素及其属性将无效。要更改正在播放的内容,要么直接使用媒体元素上的 src 属性,要么调用 load()处理源元素后媒体元素上的方法。” 来源:http ://www.w3.org/

您在编辑 src 后尝试过 audPlayer.play() 吗?

于 2013-08-19T18:05:01.730 回答