Safari 和录制音频 — HTML Media Capture / getUserMedia()
Safari and Recording Audio — HTML Media Capture / getUserMedia()
它看起来像 getUserMedia()
is now the way to go 用于捕获用户的录音。
但是 Safari 和 iOS Safari 除外。
最初我至少计划通过利用 HTML Media Capture 规范来包含 iOS Safari。从我读过的所有内容来看,这应该是可行的。但是根据我的测试,iOS 将只提供 photo/video 选项。我尝试了以下语法但没有成功:
<input type="file" accept="audio/*;capture=microphone" />
<input type="file" accept="audio/*" capture="microphone">
<input type="file" accept="audio/*" />
不过,捕捉图像会按预期工作,允许用户使用相机:
<input type="file" accept="image/*" />
我需要更改什么才能让 iOS Safari 在需要访问麦克风时与 HTML Media Capture 一起工作?
Safari 和 iOS Safari 除了我已经尝试做的以外,还有其他可用的选项吗?
Safari iOS 6+ 支持 HTML Media Capture spec 但仅适用于视频和照片:
<input type="file" accept="image/*" />
<input type="file" accept="video/*" />
它不支持仅音频捕获,因此以下不会产生预期的结果:
<input type="file" accept="audio/*" />
Android 支持所有 3 个(视频、音频、图像)。
因此 Android 和 iOS 的支持情况如下:
在 iOS 10.3 上使用 Safari,还支持 capture
布尔属性。它表示直接从网络摄像头捕获是首选。使用时,选择现有视频或图像的选项将不会在 iOS 10.3+:
上的 Safari 上提供
<input type="file" accept="image/*" capture />
我在 https://addpipe.com/blog/correct-syntax-html-media-capture/
上写了更多关于 HTML 媒体捕获主题的文章
Safari 仍然不能正确支持 getUserMedia
。
它失败了:
imgCapture = new ImageCapture(stream.getVideoTracks()[0]);
这在 Chrome 中有效,但 Safari 不知道 ImageCapture()
是什么。
更新:Safari 11.0 中的新功能 (iOS 11) – 摄像头和麦克风访问。
添加了对媒体捕获 API 的支持。
添加了网站从用户设备访问摄像头和麦克风流的功能(需要用户许可。)
它看起来像 getUserMedia()
is now the way to go 用于捕获用户的录音。
但是 Safari 和 iOS Safari 除外。
最初我至少计划通过利用 HTML Media Capture 规范来包含 iOS Safari。从我读过的所有内容来看,这应该是可行的。但是根据我的测试,iOS 将只提供 photo/video 选项。我尝试了以下语法但没有成功:
<input type="file" accept="audio/*;capture=microphone" />
<input type="file" accept="audio/*" capture="microphone">
<input type="file" accept="audio/*" />
不过,捕捉图像会按预期工作,允许用户使用相机:
<input type="file" accept="image/*" />
我需要更改什么才能让 iOS Safari 在需要访问麦克风时与 HTML Media Capture 一起工作?
Safari 和 iOS Safari 除了我已经尝试做的以外,还有其他可用的选项吗?
Safari iOS 6+ 支持 HTML Media Capture spec 但仅适用于视频和照片:
<input type="file" accept="image/*" />
<input type="file" accept="video/*" />
它不支持仅音频捕获,因此以下不会产生预期的结果:
<input type="file" accept="audio/*" />
Android 支持所有 3 个(视频、音频、图像)。
因此 Android 和 iOS 的支持情况如下:
在 iOS 10.3 上使用 Safari,还支持 capture
布尔属性。它表示直接从网络摄像头捕获是首选。使用时,选择现有视频或图像的选项将不会在 iOS 10.3+:
<input type="file" accept="image/*" capture />
我在 https://addpipe.com/blog/correct-syntax-html-media-capture/
上写了更多关于 HTML 媒体捕获主题的文章Safari 仍然不能正确支持 getUserMedia
。
它失败了:
imgCapture = new ImageCapture(stream.getVideoTracks()[0]);
这在 Chrome 中有效,但 Safari 不知道 ImageCapture()
是什么。
更新:Safari 11.0 中的新功能 (iOS 11) – 摄像头和麦克风访问。 添加了对媒体捕获 API 的支持。 添加了网站从用户设备访问摄像头和麦克风流的功能(需要用户许可。)