2

我有一个页面,我在其中显示一些音频 .ogg/.mp3 文件以在浏览器中收听(它是显示在“收据”页面上的购买产品)。

这些文件在 Chrome、Opera、Safari 和 Firefox 中非常棒,我可以播放它们、暂停、重新启动等等。

今天我使用一个快速修复并强制浏览器如果 IE 模拟 IE7 版本然后它可以工作,但当然看起来很丑。我也可以跳过<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">并使用兼容性视图并获得相同的结果。

在 IE10 Win7(获取最新版本)中显示,我什至无法按下播放按钮:http ://snag.gy/kANRy.jpg 你可以自己看看:http ://energyshop.se/testry .php/

此外,myclient 使用的是旧版本的 IE,对她来说也是如此。

我还可以补充一点,如果我按下 f12 并切换到 IE10 的兼容性视图,音频将正常工作并且我能够收听它们 - 但在我取消单击兼容性视图时不会。

这是用于音频的代码(测试代码)(这里是:http ://pastebin.com/ENrPj8cx 我的 pdt.php 的完整代码版本):

<!DOCTYPE html>
<html>
<head>
<title>Tack för Ert köp!</title>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>

<link rel="stylesheet" type="text/css" href='/phpstyles.css' />

</head>
<body>
<?php


                                echo("<audio id='testry' controls preload='auto'>");
                                echo("<source src='/1.mp3' />");
                                echo("<source src='1.mp3' />");
                                echo("<source src='1.mp3' />");
                                echo("<source src='/1.mp3' type='audio/mpeg' />");
                                echo("<source src='1.mp3' type='audio/mpeg' />");
                                echo("<source src='/1.mp3' type='audio/mp3' />");
                                echo("<source src='1.mp3' type='audio/mp3' />");

                                echo("Your browser does not support the audio tag.");
                                echo("</audio>");



?>
</body>
</html>

这是我的.htaccess: http: //pastebin.com/2mz8QwEV

另外,这是我的页面头、元数据和文档类型(它是一个 pdt.php)

<!DOCTYPE html>
<html>
<head>
<title>Tack för Ert köp!</title>

<link rel="stylesheet" type="text/css" href='/phpstyles.css' />
<script src="http://api.html5media.info/1.1.5/html5media.min.js"></script>
</head>

我知道 IE9+ 支持 .mp3 并且我已经更新了它,怎么了?任何人?

4

4 回答 4

3

我以前看到过与此非常相似的问题。专门处理 IE9 + html5 音频中的 .ogg 和 .mp3 文件类型。

通过调整 .htaccess 文件中的 MIME 类型声明解决了问题,而文件类型在其他浏览器中工作得很好 - 仅 IE9 对它可以使用的内容非常挑剔......

将进一步调查 - 很快就会有更多信息。

我很好奇您的托管情况如何?(win / linux - 自托管 / 共享?)我最初假设共享 linux 是因为 php 文件,因为这是最常见的情况。

编辑:

取决于托管情况 - (您拥有硬件/VPS/或正在使用共享托管)有些人发现他们基于 Windows 的托管服务提供商 web.config 文件实际上覆盖了他们的 mime 类型声明,但我无法验证为我的托管情况是基于linux的

经过一番搜索,我发现了其他一些有关此问题的记录案例以及其他一些解决方案:

对于共享/托管站点,此开发人员将他的 mp3 文件转换为 .m4a,该文件在 IE9 中具有工作 mime 类型

另外,如果您对此 Microsoft Developer Network 文章感兴趣- 详细说明 IE9 以这种方式运行的一些原因

这个堆栈问题类似于您在 Apache Tomcat 服务器上的问题

于 2013-05-31T17:24:09.983 回答
1

请检查 IE 支持哪些格式:http: //textopia.org/androidsoundformats.html。您可以使用内置的开发人员工具进行检查,看看它是如何实现的。

在这里,微软提供了使用 HTML5 音频的指南

这里是关于解锁 HTML5 的力量

于 2013-06-01T05:24:59.417 回答
1

只是为了完整起见,将属性添加到您的音频元素中,键入并将其设置为“mp3”或“audio/mpeg”不确定哪个,但至少你确定页面清楚地通知浏览器的类型您链接到的资源。

如果这不起作用,则 HTML 中没有其他选项来定义此类资源,那么我会将 IE10 的支持视为问题吗?

于 2013-06-01T06:14:50.110 回答
0

我认为这是由于您的服务器没有为您提供的 URL 发回正确的内容类型。

http://energyshop.se/testry.php/1.mp3给出内容类型:Content-Type: text/html;字符集=UTF-8

http://energyshop.se/1.mp3给出内容类型: Content-Type: application/octet-stream

我看到您将 .htaccess 文件发布在为什么音频标签在 IE 中不起作用?

您可能将 octet-stream 类型设置为提示下载。尝试将其设置为“audio/mpeg”,并且仅将“/1.mp3”设置为音频标签上的源。

于 2013-06-28T18:22:57.107 回答