Symfony + sonata bundle - Iphone 用户无法播放我的流式音频文件

Posted

技术标签:

【中文标题】Symfony + sonata bundle - Iphone 用户无法播放我的流式音频文件【英文标题】:Symfony + sonata bundle - Iphone users can't play my streamed audio file 【发布时间】:2022-01-06 05:26:54 【问题描述】:

我有一个提供音频课程的网络应用程序,几天前我刚刚将它迁移到了一个新服务器。 从那时起,我就陷入了一个可怕的 Iphone 问题:他们无法再访问我的任何流式音频文件。

预期的行为如下:在任何设备(PC、Mac、android)上,访问音频资源的链接都可以正常工作,并且我有一个可以播放课程的经典浏览器播放器。

working player

IOS上的错误行为:在ios设备上,播放器越界,网络请求访问资源失败。

wrong player

问题详情

快速查看 html 内容指示以下类“媒体文档 iPhone 无效视频”

网络显示 4 个请求:

4 network requests overview

Request 1

Request 2

Request 3

Request 4

技术环境如下

带有奏鸣曲包的 Symfony 应用程序(媒体和用户管理库)。

具有 HTTP2 和有效证书的 nginx 服务器。

音频文件本身是 .mp3,但被奏鸣曲媒体用作 .mpga

提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

iOs 媒体播放器不支持.mpga,因此您必须将文件转换为 MP3(与 .mpga 文件基本相同)。

你可以看到more infos here。

支持的扩展(来自前面提到的链接中的@flycomputer):

iOS 支持的音频播放格式如下:

AAC (AAC-LC)
HE-AAC (v1 and v2)
xHE-AAC - supported since iOS 13.0
AC-3 (Dolby Digital) - supported since iOS 9.3
E-AC-3 (Dolby Digital Plus) - supported since iOS 9.3
MP3 (MPEG-1 audio layer 3
AMR (Adaptive Multi-Rate, a format for speech) - not supported since iOS 4.3
ALAC (Apple Lossless)
iLBC (internet Low Bitrate Codec, another format for speech)
IMA4 (IMA/ADPCM)
linear PCM (uncompressed)
µ-law and a-law

iOS 支持的录音格式如下:

AAC (on supported devices only)
ALAC (Apple Lossless)
iLBC (internet Low Bitrate Codec, for speech)
IMA4 (IMA/ADPCM)
linear PCM
µ-law and a-law

如果您尝试将扩展名更改为.mp3,我认为它应该无需转换即可工作。

但如果没有,您可能必须将文件转换为受支持的格式之一。

【讨论】:

感谢 Dylan,我尝试将扩展名更改为 .mp3,它似乎有效。我将把它应用到我的所有文件中,看看它会如何反应。

以上是关于Symfony + sonata bundle - Iphone 用户无法播放我的流式音频文件的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 Sonata Media Bundle 自定义图像裁剪

Symfony 4 和 Sonata News Bundle 在安装过程中出错

Symfony2 Sonata Media Bundle -- 上传图片时出错

安装 sonata-project/user-bundle symfony 3.3 lts

Symfony Sonata Media Bundle 向用户添加图像/视频

Symfony + sonata bundle - Iphone 用户无法播放我的流式音频文件