gpt4 book ai didi

ios - 媒体记录器 iOS 14.6 : mimeType not supported

转载 作者:行者123 更新时间:2023-12-02 18:42:07 27 4
gpt4 key购买 nike

我正在通过网站录制和发送音频。为此,我使用了 MediaRecorder API。

根据 MediaRecorder documentation 在台式机或 Android 设备上使用网站时没有问题,自 2020 年 9 月发布以来,应该也支持 iOS 14。

MediaRecorder 是这样实例化的:

navigator.mediaDevices.getUserMedia({ audio: true, video: false })
.then((stream) => {
// Some validation and other processing. Omitted for brevity.

const mediaRecorder = new MediaRecorder(stream, { mimeType: 'audio/webm' });

// Using the mediaRecorder. Omitted for brevity.
});

在装有 iOS 14.6 的 iPhone 12 上执行此操作时,我从该实例化行收到以下错误:

NotSupportedError: mimeType is not supported

我在尝试其他格式时遇到同样的错误(这些是我发现并尝试过的格式):

  • audio/webm(如上例所示)
  • video/webm
  • audio/ogg(在桌面上也有错误)
  • audio/ogg; codecs=opus(在桌面上也是错误)

MediaRecorder 是否有任何 mimeType 可以让我在 iOS 设备上使用音频?

我是不是完全错了?

最佳答案

我的首选解决方案是这样的:

if (MediaRecorder.isTypeSupported('video/webm; codecs=vp9')) {
var options = {mimeType: 'video/webm; codecs=vp9'};
} else if (MediaRecorder.isTypeSupported('video/webm')) {
var options = {mimeType: 'video/webm'};
} else if (MediaRecorder.isTypeSupported('video/mp4')) {
var options = {mimeType: 'video/mp4', videoBitsPerSecond : 100000};
} else {
console.error("no suitable mimetype found for this device");
}
const mediaRecorder = new MediaRecorder(stream, options);

IOS 只允许 mp4,所以运行这段代码后你会自动得到那个选项。
我相信这可能是比 try catch 错误更好的方法。

关于ios - 媒体记录器 iOS 14.6 : mimeType not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67874713/

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