提问人:Bilal Ahmed 提问时间:8/13/2014 更新时间:11/30/2019 访问量:29483
使用 HTML5 从 iPhone 录制语音
Record voice from IPhone using HTML5
问:
我一直在开发一个移动网络应用程序,只是为了我自己的享受和研究。客户端应用程序的 HTML5/CSS 和 JavaScript 似乎一切工作得非常顺利,尽管看起来我需要第三方技术进行录音。我有一个非常好的解决方案,可以使用Flash,但是在用我的iPhone测试之后,我记得它们似乎不支持Flash,这令人失望,因为我有一个非常好的解决方案。我想在 Iphone 和 android 中使用 HTML5 录制语音。有什么办法吗?
答:
在 webkit 浏览器(即 iOS 中的 Chrome 和 Safari)上,您可以将 get user media api 与 .
详情可以在这里找到:html5rockswebkitGetUserMedia
评论
<input type="file" accept="audio/*;capture=microphone">
您可以使用 HTML5 WebAudio API。
音频和视频捕获简介 在 HTML5 中捕获音频和视频
不错的库,用于录制带有示例录音机.js的音频
评论
您可以尝试 HTML Media Capture。dev.opera上的一篇文章说:
Android OS 3.0 是第一个提供 HTML 媒体捕获的平台 支持,通过其默认的 Android Webkit 浏览器。现在 HTML 媒体 捕获还支持:
- 适用于 iOS 6+ 的 Safari 和 Chrome Mobile
- 适用于 Android OS 3+ 的 Chrome Mobile
- 适用于 Android OS 3+ 的 Firefox Mobile
- Opera 16 适用于 Android OS 3+
尽管如此,他们中的一些人只是部分实现了规范或 实现较旧的 W3C 规范,使上述代码 略有不同:
<input type="file" accept="image/*" capture="camera"> <input type="file" accept="video/*" capture="camcorder"> <input type="file" accept="audio/*" capture="microphone">
它链接到一个演示页面,您可以在手机上尝试。我还找到了这个示例页面。不过,在我的快速 iOS 7 测试中,它仅适用于照片和视频。
编辑:进一步阅读表明 iOS 6 和 7 实际上不支持,只有 和 .accept="audio/*"
accept="image/*"
accept="video/*"
更新:在iOS 8.3上的快速测试表明,这里没有任何变化:并且受支持,但不受支持。accept="image/*"
accept="video/*"
accept="audio/*"
更新:在iOS 10.0.2上的快速测试表明仍然不受支持,尽管看起来您现在可以从iCloud Drive或Dropbox上传音频文件。accept="audio/*"
更新:尽管它在Webkit博客文章中说了什么,但我的iPhone 10.3S上的iOS 5似乎仍然不支持。accept="audio/*"
更新:iOS 11.0.3中也是如此。我的iPhone 5S似乎仍然不支持。accept="audio/*"
更新:在iOS 12.4.3中仍然相同。我的iPhone 5S似乎不支持。accept="audio/*"
评论
video
image
这在网站上不起作用,但如果您想使用 Cordova 将您的 Web 应用程序重新制作为移动应用程序,这将允许您使用麦克风输入。需要一些 Web 音频 api 知识才能开始工作。
https://github.com/edimuj/cordova-plugin-audioinput
和 RecorderJS 来记录它的输出:
https://github.com/mattdiamond/Recorderjs
上面有人提到 RecorderJS 在移动设备上不起作用,但它确实如此,只是麦克风输入不起作用。
目前,我不知道有任何方法可以在移动设备上的浏览器中录制麦克风输入
评论