[英]How to access html5 audio play() event in codebehind asp.net with c#
我在中繼器中有一個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");
}
希望能幫助到你
嘗試這個:
在ASPX頁面中:
<asp:Label runat="server" ID="lbl_sound" Visible="false"/>
在后面的代碼中:
//clear label on load page , and set value in your event
public void goSound()
{
lbl_sound.Text="<div><audio autoplay hidden><source src='Sound/myaudio.wav' type='audio/mpeg'></audio></div>"
}
它對我有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.