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

标签 c# asp.net html audio

我在中继器中有一个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/

相关文章:

C# 正则表达式仅删除元素名称中的字符,而不替换值

c# - 部署 SQL Server 2008 r2 Reporting Services 数据扩展时出错

html - :1 at the end of css mean or stand for? 是什么意思

java - 使用 Java Swing 获取 DIV 内容

c# - 绑定(bind)到多个窗口上的相同属性不起作用

c# - 为什么不能使用反射获取局部变量名?

asp.net - 为什么 ASP.NET Core 在错误响应上设置缓存控制 header ?

ASP.Net MVC 3.0 属性 [OutputCache] - 这是全局的还是 session 的?

asp.net - 在GridView中插入具有隐藏字段的列

html - Jekyll 帖子显示内容,但没有正确格式化正确的布局