cordova-plugin-media:解析nodejs服务器上的“.amr”音频文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cordova-plugin-media:解析nodejs服务器上的“.amr”音频文件相关的知识,希望对你有一定的参考价值。
我正在使用cordova-plugin-media插件来记录来自android和ios设备的音频文件。但是,android只允许在“.amr”结尾记录文件,iOS在其他地方只支持“.wav”。但是,Android上的iOS设备播放“.wav”时,iOS不支持“.amr”文件。这就是为什么我必须以某种方式转换它们。
因为我找不到任何cordova-plugin转换客户端上的“.amr”文件,除了this one(它基于外部API并且极其缓慢+不完全工作 - 此外我不是做文件的粉丝 - 在客户端的转换),我正在寻找服务器端的解决方案:
是否有任何javascript库(最好是“nodejs-friendly”)允许我轻松地将“.amr”文件转换为“.wav”或“.mp3”(或类似 - 只能在iOS上播放)?尽管ffmpeg(我无法正确安装),我找不到任何解决方案...... :(
(在cordova-plugin-media中将mime-type设置为'audio / wav'会创建一个“损坏的”wav文件,在使用工具进一步分析时仍然是amr-encode ...)
我真的很感谢你的帮助!
我提出了一个“解决方案”,如果其他人遇到与我相同的问题,我会与你分享:
www.cloudconvert.com为“即时”转换视频/音频/ img文件提供了一个非常简单的API。
对于node.js,我可以推荐一个节点包:https://github.com/cloudconvert/cloudconvert-node
我决定将.amr转换为.mp3而不是.wav(iOS“标准”),因为.mp3更小。为了能够在iOS设备上播放它,虽然必须从github上描述的(手动)示例稍微调整一下比特率。确保将以下选项传递给转换过程:
ccprocess.start({
outputformat: 'mp3',
input: 'download',
file: 'path-to-your-file',
converteroptions: {
audio_bitrate: "721",
audio_frequency: "44100",
audio_qscale: -1
}
}, function (err, ccprocess) { ...
以上是关于cordova-plugin-media:解析nodejs服务器上的“.amr”音频文件的主要内容,如果未能解决你的问题,请参考以下文章
Ionic2:iOS 应用程序在使用cordova-plugin-media 录制音频并再次播放时崩溃
Android cordova-plugin-media MediaError.MEDIA_ERR_ABORTED = 1 与 http 资源