/ / Jak uzyskać dostęp do zdarzenia html5 audio play () w codebehind asp.net z c # - c #, asp.net, html5, audio

Jak uzyskać dostęp do zdarzenia html5 audio play () w codebehind asp.net z c # - c #, asp.net, html5, audio

Mam audio znacznik html5 w repeater. Kiedy użytkownik kliknie przycisk Chcę uruchomić zdarzenie play () w codebehind. Mogę znaleźć audio i dać src, ale nie mogę uruchomić play (). Ps: Autoodtwarzanie działa tylko raz, ponieważ inny dźwięk nie działa. Moje kody to:

aspx w repeateru

<audio id="player2" runat="server" src="" type="audio/mp3"
controls="controls" preload="none" autoplay="autoplay">

Codebehind

        HtmlAudio audio = (HtmlAudio)e.Item.FindControl("player2");
switch (e.CommandName)
{
case "play":

audio.Src = dt.Rows[0]["AudioPath"].ToString();
**audio play() ?**
break;

}

Odpowiedzi:

0 dla odpowiedzi № 1

Oczywiście dla innego dźwięku nie będzie działać. Będzie działać tylko dla pierwszego. Ponieważ dałeś im te same identyfikatory. Identyfikator również powinien być dynamiczny, w zależności od dźwięku. Na przykład możesz załadować go z bazy danych: <% # Eval ("id")%>. Masz pewną kontrolę, gdy klikniesz na kontrolne audio, które chcesz odtworzyć. Byłoby lepiej, gdybyś zrobił to za pomocą linka. Na przykład,

<a href="javascript:PlayAudio(<%#Eval("id") %>)">
<img src="/images/...." width=".." height=".." />
</a>

A następnie wpisz funkcję javascript:

PlayAudio(id){
document.getElementById("audio"+id).setAttribute("autoplay", "autoplay");
}

Mam nadzieję, że to pomoże