我正在尝试为iPhone和Android构建一个涉及音频输入的Web应用程序。
这是否可行?
显然...是的,或者至少在完成后应该能够。据说这将使用设备API实现,当HTML5完成并发布时,它将成为其中的一部分(但是HTML5尚未最终确定,信息可能会发生变化)。
Sony Erricson社区博客帖子,附有示例(预发布API)
虽然W3C规范中没有明确提到作为(网络)摄像头交互的一部分的音频录制,但肯定是有希望的。不过目前好的信息似乎很少。随着HTML5越来越接近最终确定,我期望会看到更多相关信息。
HTML 5目前无法记录音频。HTML基本上是一种标记语言,因此只声明浏览器应如何显示某些内容。虽然HTML 5引入了一些新功能,使得某些交互成为可能,但你不能直接将音频录制到HTML中(即使这样说听起来也不对)。当HTML5规范完成时,它可能会变成现实,但在那之前,没有办法。
通常情况下,记录音频的Web应用程序需要像Flash或Silverlight这样的插件,因为它们可以访问系统资源,如音频硬件。这两者在iOS上都不可行,尽管Flash理论上在Android上是可能的,但我不知道它是否支持音频输入。
我建议您编写一个原生应用程序(适用于iOS和Android),该应用程序可以访问音频硬件并在后台连接到您的Web应用程序,以便原生地进行录制,并将录制的音频传输到您的服务器(例如Shazam)。
以下是有关录制音频的基本开发人员指南:
目前,HTML5无法录制音频。但是在未来,它将能够通过使用设备的本地功能来实现。
正在开发一种新的MediaStream Recording API。目前仅在Firefox Nightly版本中可用于演示。
以下是来自W3C网站的最新更新草案: https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/MediaRecorder.html
此外,以下文章涵盖了在浏览器中直接录制音频和视频的其他尝试: http://hdfvr.com/html5-video-recording