繁体   English   中英

如何使用C#在ASP.NET背后的代码中访问HTML5音频play()事件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM