gpt4 book ai didi

javascript - 从未使用 mimeType 初始化的 MediaRecorder 获取 mimeType

转载 作者:行者123 更新时间:2023-11-27 22:47:09 25 4
gpt4 key购买 nike

我正在使用 MediaRecorder API 在页面上录制一些媒体。在我的 MediaRecorder 初始化中,我没有指定内容类型,因为我不需要任何特别的内容。浏览器可以选择它想要的内容。

var mediaRecorder = new MediaRecorder(stream);

但是,当需要保存该录音时,我需要知道 blob 的 mimeType,以便我可以确定合理的文件扩展名。

MediaRecorder.mimeType proprety 是我想要的,但它是一个空字符串。它没有将 mimeType 设置为 MediaRecorder 的默认值,因此我似乎无法知道默认的 mimeType 是什么。

  mediaRecorder.onstop = function (e) {
var mediaFileUrl = window.URL.createObjectURL(
new Blob(chunks, {type: /* TODO: mime type here */})
);

$('<a>').attr({
href: mediaFileUrl,
download: 'Recording.?????' // TODO: Use mime type to figure out file name extension
})[0].click();

window.URL.revokeObjectURL(mediaFileUrl);
chunks = [];
}

最佳答案

目前,无法立即获取您需要的信息。

当前的 W3C 规范规定,如果未指定 mimetype(由您):

the UA will use a platform-specific default format.

这就是您的情况,您没有指定任何 mimetype 和 UA,浏览器正在选择最适合您的类型,并且没有关于恢复所选格式的方法的规范。

目前,唯一可以让您接近这一点的方法是使用 isTypeSupported 来提供一些媒体支持检测,不幸的是,mimetypes、浏览器、平台、速率等的数量,它不太适合编写一个函数来返回选择的 mimetype 和可用组合的数量:video/webm; codecs="vp", 视频/mp4; codecs="avc1.4d4015"

最初的想法可能是向用户隐藏所有这些详细信息,但实际上,用户需要知道 mimetype 以便保存生成的文件的特定情况经常出现。

An issue当前打开的提议是提供一种方法来获取按弱偏好排序的所有受支持的媒体类型,这意味着如果未提供,返回的第一个媒体类型将是 UA 选择的默认媒体类型。

该问题是在 5 月份创建的,但目前没有实际的后续行动。

关于javascript - 从未使用 mimeType 初始化的 MediaRecorder 获取 mimeType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38337626/

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