cordova 仅在iPad上的浏览器中录制音频

yhqotfr8  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(195)

我正在与一个学校团体合作,该团体有一个Django网站,该网站的页面允许用户按下按钮、录制音频并将此音频保存到他们的用户页面上。该网站是为在装有海豚浏览器的电脑和三星平板电脑上运行而构建的,使用HTML Media Capture通过在平板电脑上启动麦克风应用程序来捕获音频。该团队现在希望改用iPad。我一直在研究如何从iPad上启动麦克风应用程序,但似乎这是不可能的使用HTML5。我做了一些研究,并看到了下面的链接,但我不知道什么是最好的策略是修改现有的网站,使其在iPad上工作。
让这一群体使用基于浏览器的网站从iPad上录制音频(而非视频)的最佳方法是什么?
研究--
http://caniuse.com/#search=getUser - 显示getUserMedia无法在iPad上运行
http://www.html5audio.org/2012/11/capturing-audio-on-ios-6-via-the-videotag.html-看起来很简陋,它能用吗?
How to record and play voice in ios6 using HTML5-使用PhoneGap可能可行,但如何从浏览器启动录音应用程序,然后将音频保存回用户帐户?
谢谢你,

eqzww0vc

eqzww0vc1#

在同样的问题困扰了一年之后,我发现了一篇新的文章,里面有一个解决方案:How to record audio from a mobile web page on iOS and Android
MediaRecorder API是一个更新的API。我第一次尝试构建这个应用程序是从这个类开始的。我实现了整个应用程序,它在我的桌面上运行得很好。捕获音频很容易,数据已经压缩成.ogg格式,准备发送到我的服务器。然后我在iOS上尝试了一下。结果发现MediaRecorder API不受支持,不能满足我的需求。在我停止诅咒苹果之后,我又从头开始。
......这是最后一块拼图,让我能够构建一个工作演示,它围绕三个步骤:
1.捕获麦克风以便开始录制
2.将捕获的音频数据累积到一系列字节数组块中
3.将这些块合并到一个大数组中,并将该数组转换为.wav文件的格式
网站上有一堆代码,下面是演示文件:https://www.gmass.co/blog/wp-content/uploads/2018/03/wzrecorder.zip
我已经测试过了,它可以在iPad上工作。

演示:https://q2apro.github.io/wzrecorder/

23c0lvtd

23c0lvtd2#

Safari iOS不支持<input>元素的accept="audio/*"部分,尽管它确实支持通过HTML Media Capture拍摄视频和图像。
iOS 10上的<input type="file" accept="audio/*" >将提示用户选择:

  • 拍摄照片或视频
  • 照片图库
  • iCloud云端硬盘
  • 更多...
    同样的代码在Android上的Chrome中运行良好。

iOS6中的Safari是第一个支持<input ... >元素的移动的Safari,我一直测试到iOS10。iOS上的Chrome使用相同的渲染引擎,因此适用相同的限制。

相关问题