nic*_*ost 6 android wav amr node.js cordova
我正在使用cordova-plugin-media插件来记录来自android和ios设备的音频文件.但是,android只允许在".amr"结尾记录文件,iOS在其他地方只支持".wav".但是,Android上的iOS设备播放".wav"时,iOS不支持".amr"文件.这就是为什么我必须以某种方式转换它们.
因为我找不到任何cordova-plugin转换客户端上的".amr"文件除了这个(基于外部API并且极其缓慢+不完全工作 - 此外我不喜欢做客户端的文件转换),我正在寻找服务器端的解决方案:
是否有任何javascript库(最好是"nodejs-friendly")允许我轻松地将".amr"文件转换为".wav"或".mp3"(或类似 - 只能在iOS上播放)?尽管ffmpeg(我无法正确安装),我找不到任何解决方案...... :(
(在cordova-plugin-media中将mime-type设置为'audio/wav'会创建一个"损坏的"wav文件,在使用工具进一步分析时仍然是amr-encode ...)
我真的很感谢你的帮助!
我想出了一个“解决方案”,如果其他人遇到与我相同的问题,我会与您分享:
www.cloudconvert.com 提供了一个非常简单的 API,用于“即时”转换视频/音频/img 文件。
对于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) { ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |