gpt4 book ai didi

HTML5 音频无法在移动设备上播放

转载 作者:太空狗 更新时间:2023-10-29 15:26:22 26 4
gpt4 key购买 nike

尊敬的 HTML5 开发人员,

我在处理这个 HTML5 音频时遇到了一些问题...所以让我们开始吧。

ap  = "<audio width='200' height='30' preload='auto' controls autobuffer>";
ap += "<source src='util/blob_audio.php?i=" + w + "&ogg=1' type='audio/ogg' />";
ap += "<source src='util/blob_audio.php?i=" + w + "&mp3=1' type='audio/mpeg' />";
ap += "</audio>";

我在 JavaScript 中生成它,并在需要时通过一个方法返回它。我想我不应该提到那个“w”变量,它是一个参数 (YouDon'tSay),它工作得很好。

应该没问题吧?它们出现在台式机上,但在移动设备上遇到问题(我已经在 iPad2、Android 3.2.1 平板电脑、Android 2.3.6 智能手机上测试过)。

在 iPad 2 上显示:“无法播放音频文件。”在元素中。Droid 显示默认音频元素,但没有音量控制,视觉上它表示它正在播放 - 从头跳到尾。

PHP header 看起来像这样(在 blob_audio.php 中)(我们将音频作为 blob 存储在数据库中 [不要问我为什么,这不是我的主意]):

header("Content-Type: audio/ogg"); // this is inside of a condition, this is the "ogg" part of it
header('Content-Length: ' . $length);
header('Content-Disposition: inline');
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');

这工作得很好,因为一切都在桌面上工作。

我在想,也许这些格式(mp3、ogg)没有为 ARM 架构 CPU 正确编码(不支持编解码器)。如果是 mp3,这种狗屎会发生吗?

一个想法?任何人? =)

谢谢,本

最佳答案

好的,我们已经弄明白了。

事实如下(见下表):

iStuffs 的问题 -> 我们正在通过安全连接 (HTTPS) 进行工作。这搞砸了 iShit HTML5 音频处理。他们需要一些“中间证书”——可能用于身份验证,或者我不知道——在服务器的证书链之间。所以这个东西不能通过 SSL 在我们的测试服务器上工作。谁知道......当你正常部署它时它会起作用。但是,Android 来了,小心!

Android 很有趣,因为(如文档所述 -_O )Droid 不支持通过低于 3.1 版的 SSL 的任何媒体格式。这完全是在“搞砸人性”。我不明白为什么在 21 世纪让一个该死的系统能够通过该死的 SECURE 连接来播放任何多媒体/媒体是一个问题。这一定又是什么版权法,我又要吐了。

如果您想知道我们为解决这个问题做了什么:

我们想通了,如果我们真的想让我们的应用程序跨浏览器和“跨设备兼容”(我不知道这是否是正确的命名,但我相信你明白了;)) ,我们需要从 SSL 下“取出”音频(多媒体/媒体)。

因此,为了简单起见,我们为我们的音频文件(我们现在只需要音频)创建了一个简单的 HTTP 子域(层次结构中的单独文件夹),并使其可通过该子域访问 + 通过 authenticate/validate脚本文件。所以一切都在 HTTPS 下进行,但多媒体/媒体在 HTTP 上是分开的。

工作正常,在每一个该死的设备上,任何时候。我知道这是一个“更大”的解决方案,但对于我们正在测试这些东西的任何设备来说,这是最“可实现”的。

关于HTML5 音频无法在移动设备上播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com