macos - RecordRTC - 在 Safari 上播放录音失败
问题描述
我正在使用 RecordRTC 允许我的应用程序用户录制他们的视频并上传。这适用于 Chrome 和 Mozilla Firefox,但 Safari 无法播放录制的视频。我对此进行了研究,发现mimeType: 'video/webm\;codecs=vp8'
可用于野生动物园。但是,这仍然不适用于 Safari 浏览器。(Mac OS X 和 iOS)
有人可以帮我吗?我有多个用户在不同的操作系统上工作并在不同的浏览器上工作,我想确保 RecordRTC 对所有用户都有效。
如果可以通过跨浏览器支持实现此功能,我愿意更改/切换到任何其他替代方案。
我找到了 Twilio,但我不确定 Twilio 是否支持独立录制?我的意思是我只想让单个用户在页面上录制视频并上传。
如果有帮助,请参阅下面我的 RecordRTC 配置:
const options = {
type: 'video',
mimeType: 'video/webm\;codecs=vp8',
bitsPerSecond: 128000,
timeSlice: 1000
};
用户完成录制后,我将其转换为 blob 并将其附加到 formData 以将其保存到服务器:
var recordedBlob: Blob = recordRTC.getBlob();
formData.append('files', recordedBlob, this.courseComponent?.courseComponent?.name + '.webm');
这段录制的视频在 Chrome 和 Firefox 中播放良好,但在 Safari 中播放失败。如果你能指导我完成这件事,那将对我有很大帮助。谢谢。
以下是控制台日志快照:
1.浏览器不支持媒体记录器api
- 尝试播放录制的视频时
- 说浏览器不支持媒体记录器 api 并尝试使用 whammyRecorder
解决方案
我认为您应该选择添加 recorderType
const options = {
type: 'video',
mimeType: 'video/webm',
recorderType: MediaStreamRecorder
};
推荐阅读
- python - 将子位置转换为父位置坐标
- vba - 如何在 DoCmd.Requery 之后处理访问“运行时错误 3021 - 无当前记录”?
- python - 无法使用 selenium 和 python 定位文本输入元素
- python-3.x - 不可散列的类型:散点图的“numpy.ndarray”
- java - 微服务 - 不同层中变量的定义。设计最佳实践
- sql - 当该月没有数据时返回 0 计数
- python - 如何使用 Python 从 Web 获取所有 cookie?
- postman - NEWMAN & POSTMAN : 使用 POSTMAN 运行收集,但不使用 NEWMAN
- javascript - 我可以在我的项目中使用来自 package-lock.json 依赖项的包吗?
- api - 如何确保 RESTful API 向后兼容?