gpt4 book ai didi

android - Cordova 插件媒体 : Parse ".amr" Audio File on nodejs server

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:09:06 25 4
gpt4 key购买 nike

我正在使用 cordova-plugin-media用于录制来自 android 和 ios 设备的音频文件的插件。但是,android只允许录制以“.amr”结尾的文件,而iOS则只支持“.wav”。在 Android 上从 iOS 设备播放“.wav”是可行的,但是,iOS 不支持“.amr”文件。这就是为什么我必须以某种方式转换它们。

因为除了this one,我在客户端找不到任何转换“.amr”文件的cordova-plugin| (它基于外部 API 并且非常慢 + 不能完全工作 - 此外我不喜欢在客户端进行文件转换),我正在寻找服务器端的解决方案:

是否有任何 javascript 库(最好是“对 nodejs 友好的”)允许我轻松地将“.amr”文件转换为“.wav”或“.mp3”(或类似的 - 仅可在 iOS 上播放) ?尽管有 ffmpeg(我无法正确安装),但我找不到任何解决方案...:(

(在 cordova-plugin-media 中将 mime-type 设置为 'audio/wav' 会创建一个“损坏的”wav 文件,在使用工具进一步分析时仍然是 amr-encode ...)

非常感谢您的帮助!

最佳答案

我想出了一个“解决方案”,如果其他人遇到与我相同的问题,我会与您分享:

www.cloudconvert.com 提供了一个非常简单的 API,用于“即时”转换视频/音频/img 文件。

对于 node.js,我可以推荐一个 Node 包: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) { ...

关于android - Cordova 插件媒体 : Parse ".amr" Audio File on nodejs server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com