我一直致力于移动网络应用程序,仅供我自己享受和研究。对于客户端应用程序来说,一切似乎都在使用HTML5 / CSS和JavaScript工作,虽然看起来我需要第三方技术进行录音。我有一个非常好的解决方案,使用Flash,但在用我的iPhone测试后,我记得他们似乎不支持闪存这是令人失望的,因为我有一个非常好的解决方案。我想在Iphone和android中使用HTML5录制语音。有什么办法吗?
答案 0 :(得分:23)
您可以尝试HTML Media Capture。 article on dev.opera说:
Android OS 3.0是第一个提供HTML Media Capture的平台 支持,通过其默认的Android Webkit浏览器。现在HTML媒体 Capture也受以下支持:
- 适用于iOS 6的Safari和Chrome移动版
- 适用于Android OS 3的Chrome移动版
- 适用于Android OS 3的Firefox手机
- 适用于Android OS 3的Opera 16 +
尽管如此,其中一些只是部分实现了规范或 实现旧的W3C规范,使上面的代码 略有不同:
<input type="file" accept="image/*" capture="camera"> <input type="file" accept="video/*" capture="camcorder"> <input type="file" accept="audio/*" capture="microphone">
它链接到您可以在手机上试用的a demo page。我还找到了this example page。在我的快速iOS 7测试中,它只适用于照片和视频。
修改:Further reading建议在iOS 6和7上实际上不支持accept="audio/*"
,仅accept="image/*"
和accept="video/*"
。< / p>
更新:对iOS 8.3的快速测试表明此处未发生任何变化:支持accept="image/*"
和accept="video/*"
,但accept="audio/*"
不支持。
更新:对iOS 10.0.2的快速测试表明仍然不支持accept="audio/*"
,尽管您现在可以从iCloud Drive或Dropbox上传音频文件了
更新:尽管它在the Webkit blog post中所说的内容,但我的iPhone 5S上似乎仍然没有支持iOS 10.3中的accept="audio/*"
。
更新:iOS 11.0.3中的相同故事。我的iPhone 5S似乎仍然不支持accept="audio/*"
。
答案 1 :(得分:2)
这不适用于网站,但如果您想使用Cordova将您的网络应用程序修改为移动应用程序,则可以使用麦克风输入。掌握网络音频api的一些知识,以便开始工作。
https://github.com/edimuj/cordova-plugin-audioinput
RecorderJS记录其输出:
https://github.com/mattdiamond/Recorderjs
上面有人提到RecorderJS不能在移动设备上运行,但确实如此,它只是麦克风输入不起作用。
目前我还没有任何方法可以在移动浏览器中记录麦克风输入
答案 2 :(得分:-1)
答案 3 :(得分:-2)
在iOS中的webkit浏览器ieChrome和Safari中,您可以将get user media api与webkitGetUserMedia
一起使用。
详细信息可以在这里找到 :
html5rocks