Javascript 移动Web应用中的语音记录

Javascript 移动Web应用中的语音记录,javascript,iphone,html,mobile-website,Javascript,Iphone,Html,Mobile Website,问题: 有没有可能通过某种技术将语音记录集成到移动web应用程序中 一些背景: 我一直在开发一个移动web应用程序,只是为了自己的享受和研究。客户端应用程序使用HTML5/CSS和JavaScript时,一切似乎都很顺利,尽管我似乎需要第三方技术进行语音录制。我有一个很好的解决方案来使用Flash,但在用IPhone测试之后,我记得他们似乎不支持Flash,这令人失望,因为我有一个很好的解决方案 录音要求: 1.必须同时使用iOS和Android 2.必须适用于最新版本的Firefox、Goog

问题:
有没有可能通过某种技术将语音记录集成到移动web应用程序中

一些背景:
我一直在开发一个移动web应用程序,只是为了自己的享受和研究。客户端应用程序使用HTML5/CSS和JavaScript时,一切似乎都很顺利,尽管我似乎需要第三方技术进行语音录制。我有一个很好的解决方案来使用Flash,但在用IPhone测试之后,我记得他们似乎不支持Flash,这令人失望,因为我有一个很好的解决方案

录音要求:
1.必须同时使用iOS和Android
2.必须适用于最新版本的Firefox、Google Chrome、Internet Explorer、Opera和Safari
3.必须在移动web应用程序的框架内工作
4.必须能够在不主动连接到internet的情况下录制
5.客户端应用程序不应要求用户更改其手机操作系统


我试图尽可能具体地帮助你准确地回答这个问题。如果有什么不清楚的地方,请在下面的评论中告诉我,我会进一步澄清。

如果您想将其录制为音频,我想您只能为Chrome dev、Chrome canary、Opera next和一些移动浏览器制作。 然后使用WebRTC
getUserMedia()
API生成音频数据URL的blob URL以保存它


如果您想将其记录为文本,可能可以对webkit浏览器使用
。制作一个事件,每次停止录制时,它都会将当前录制的语音添加到元素中,然后再次开始录制。最后,创建一个blob URL以将其保存为文本文件。

检查此项

HTML媒体捕获

适用于大多数移动浏览器,但效果不佳,因为它需要本机录制应用程序,并且需要手动激活

getUserMedia()
和WebRTC

到目前为止,只有铬能够很好地支持移动设备

所以,我放弃了web应用程序。混合应用程序就是解决方案。


如果您想尝试混合应用程序进行录制,可以查看我为混合应用程序中的录制任务创建的Cordova插件。

自提出此问题以来,似乎有一个解决方案浮出水面。此解决方案以MediaStreamConstraints dictionary
audio
属性的形式出现

Mozilla的Web API文档有一个非常好的示例,如下所示:

document.getElementById("startButton").addEventListener("click", function() {
  navigator.mediaDevices.getUserMedia({
    audio: true
  }).then(stream => audioElement.srcObject = stream)
    .catch(err => log(err.name + ": " + err.message));
}, false);
资源


您可能可以使用phone gap来实现类似的功能。查看这篇文章。