MC9*_*000 8 asp.net audio html5 internet-explorer-11
我(以及大约一百万人)在IE11中发现了一个错误(不确定其他版本是否有相同的错误),如果你创建一个HTML5音频标签,浏览器会报告"无效来源",无论如何.我已经尝试过每一个我能想到的组合而没有运气.到目前为止:将HTML结束标记从自闭合更改为显式更改文件名以消除任何奇怪的字符将音频子格式更改为每个可能的设置添加显式URI("http:// ...")禁用所有插件(有库存插件)尝试每种可能的音频格式定义MIME类型更改音频标签的参数.更改了IIS设置以包含MIME类型.
检查微软的"连接"网站 - (他们声称它不可复制,但数十万的谷歌搜索结果表明不然).
这根本不可能吗?我尝试过的所有其他最新和最好的浏览器(FireFox,Opera,Safari,Chrome)我现在已经结束了 - 没有解决方案可行.
这是代码:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="AudioPopupPlayer.aspx.vb" Inherits="AudioPopupPlayer" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<div style="padding-top: 30px; margin: auto; width: 300px;">
<asp:Literal ID="litVoiceOver" runat="server"></asp:Literal></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
代码背后:
Partial Class AudioPopupPlayer
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim VoiceOverFileName As String = Request.QueryString("vo")
If VoiceOverFileName.Length > 0 Then
Dim root As String = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + ResolveUrl("~/")
Dim audiosource As String = "<audio id=""VoiceOver"" autoplay=""autoplay"" preload=""preload"" controls=""controls""><source src=""" & root & "audio/" & VoiceOverFileName & ".ogg"" type=""audio/ogg"" ></source><source src=""" & root & "audio/" & VoiceOverFileName & ".mp3"" type=""audio/mpeg"" ></source><source src=""" & root & "audio/" & VoiceOverFileName & ".wav"" type=""audio/wav"" ></source></audio>"
Me.litVoiceOver.Text = audiosource
End If
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
最后,屏幕截图(在IE11中)显示HTML呈现完美,但我仍然得到可怕的"无效源"消息(注意:复制和粘贴链接会导致音频文件播放 - 去图).
我尝试了几种新的文件格式。Internet Explorer 11 仅支持 M4A 音频格式(不支持 WAV、OGG 和 MP3)。微软确实需要在其网站上提供有关其浏览器支持的正确信息(他们声称支持 MP3,但显然不支持)。疯狂,我告诉你!
归档时间: |
|
查看次数: |
9136 次 |
最近记录: |