我在中继器中有一个html5音频标签。当用户单击按钮时,我想在代码背后触发play()事件。我可以找到音频并提供src,但不能触发play()。
Ps:自动播放仅工作一次,而另一个音频不工作。
我的代码是:
中继器中的 aspx<audio id="player2" runat="server" src="" type="audio/mp3"
controls="controls" preload="none" autoplay="autoplay">
背后的代码
HtmlAudio audio = (HtmlAudio)e.Item.FindControl("player2");
switch (e.CommandName)
{
case "play":
audio.Src = dt.Rows[0]["AudioPath"].ToString();
**audio play() ?**
break;
}
最佳答案
自然,对于其他音频,它将不起作用。它仅适用于第一个。因为您给所有的人都使用了相同的ID。 ID也应该是动态的,具体取决于您的音频。例如,您可以从数据库<%#Eval(“id”)%>加载它。
您具有一些控件,单击该控件时必须播放音频。如果您将在链接上这样做会更好。例如,
<a href="javascript:PlayAudio(<%#Eval("id") %>)">
<img src="...." width=".." height=".." />
</a>
然后写javascript函数:
PlayAudio(id){
document.getElementById('audio'+id).setAttribute("autoplay", "autoplay");
}
希望能帮助到你
关于c# - 如何使用C#在ASP.NET背后的代码中访问HTML5音频play()事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33925549/