我试图了解 safari ios (12.3.1) 在浏览器中录制音频的局限性。这是因为任何言语我的记录-无论编解码器/容器-是很多不是通过原生iOS应用记录相当于音频质量较低。无论编码器设置如何(例如比特率/复杂性/采样率/通道),在 safari ios (iphone8) 中录制的 Opus、wav 和 mp3 文件似乎都具有一定的质量。但是在本机应用程序中录制语音时,我发现我可以产生始终如一的出色结果。safari 中的音频质量不受以下因素影响: 使用不同的 javascript 录音机(仅 wav)和 javascript 编码器(opus 和 mp3)录制音频;清除浏览器缓存;从私人浏览器窗口重新加载 js;打开 MediaRecorder API 实验功能。但
1 回答
智慧大石
TA贡献1946条经验 获得超3个赞
最近几天我一直在玩getUserMedia()
各种设备。在分析生成的 WAV 文件(波形和频谱分析)后,以下是我能够从中获得的一些信息。
Safari iOS 将生成一个不错的 WAV 文件(默认为 48000Khz,16 位,立体声),但无论传递给getUserMedia()
音频频谱的约束如何,都不会包含任何高于 14Khz 的频率。所以 WAV 容器是可以的,但是写入它的音频的质量与可以在原生 iOS 应用程序中找到的“中等”音频预设大致相同。
这样做的结果是对音频产生非常明显的“电话”效应,并且文件无法用于专业音频目的。
Android 设备在默认配置中产生类似的结果(音频频谱的强限制),但通过传递一组禁用以下辅助的约束:
autoGainControl:false, echoCancellation:false, noiseSuppression:false
我们可以达到非常可接受的音频质量。
不幸的是,这些相同的设置不允许 iOS 达到可接受的音频质量,目前似乎没有可用的解决方法。
添加回答
举报
0/150
提交
取消