使用HTML5从IPhone录制语音

Bil*_*med 18 javascript html5 google-chrome

我一直致力于移动网络应用程序,仅供我自己享受和研究.对于客户端应用程序来说,一切似乎都在使用HTML5/CSS和JavaScript工作,虽然看起来我需要第三方技术进行录音.我有一个非常好的解决方案,使用Flash,但在用我的iPhone测试后,我记得他们似乎不支持闪存这是令人失望的,因为我有一个非常好的解决方案.我想在Iphone和android中使用HTML5录制语音.有什么办法吗?

Oll*_*son 25

您可以尝试HTML Media Capture.有关dev.opera文章说:

Android OS 3.0是第一个通过其默认的Android Webkit浏览器提供HTML Media Capture支持的平台.现在,HTML Media Capture也受以下支持:

  • 适用于iOS 6+的Safari和Chrome Mobile
  • 适用于Android OS 3+的Chrome移动版
  • 适用于Android OS 3+的Firefox Mobile
  • 适用于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">
Run Code Online (Sandbox Code Playgroud)

它链接到您可以在手机上试用的演示页面.我也找到了这个示例页面.在我的快速iOS 7测试中,它只适用于照片和视频.


编辑:进一步阅读建议accept="audio/*"实际上并不支持iOS 6和7只accept="image/*"accept="video/*".


更新:对iOS 8.3的快速测试表明此处没有任何变化:accept="image/*"并且accept="video/*"受支持,但accept="audio/*"不是.


更新:accept="audio/*"仍然不支持对iOS 10.0.2建议的快速测试,尽管看起来您现在可以从iCloud Drive或Dropbox上传音频文件.


更新:尽管在Webkit博客文章中所说的内容,accept="audio/*"我的iPhone 5S上的iOS 10.3 似乎仍然没有支持.


更新:iOS 11.0.3中的相同故事.accept="audio/*"在我的iPhone 5S上似乎仍然没有支持.

  • iOS9也不支持__accept ="audio/*"__ (6认同)
  • 照片和视频捕捉并不是什么大问题.我在使用HTML5录制音频时遇到问题. (2认同)
  • @BilalAhmed 根据 http://www.webmonkey.com/2012/09/new-html-tricks-for-web-developers-in-apples-ios-6-2/ 它只支持`video`和`image`而这在 iOS7 中似乎没有改变:-( 我能想到的最好的解决方法是让用户录制视频、上传,然后使用服务器端处理来提取音频? (2认同)

Nik*_*lar -2

在 iOS 中的 webkit 浏览器 ieChrome 和 Safari 上,您可以将获取用户媒体 api 与webkitGetUserMedia. 详细信息可以在这里找到: html5rocks

  • 根据 http://caniuse.com/stream 的说法,iOS Safari 尚不支持它。不过,您也许可以使用 HTML 媒体捕获,如前文所述:`&lt;input type="file"accept="audio/*;capture=microphone"&gt;`。(额外的挑剔:Chrome 和 Opera 不再使用 Webkit - 他们不久前分叉了,现在使用 Blink。) (3认同)