【问题标题】:How to convert base64 wav to base64 mp3 in JavaScript如何在 JavaScript 中将 base64 wav 转换为 base64 mp3
【发布时间】:2015-07-21 06:57:40
【问题描述】:

我的应用有问题。

我想使用 Cordova 录制声音并将其存储在 iOS 中。我已经有一个base64/wav文件,但是很重所以我想把它转换成base64/mp​​3。

允许我这样做的算法是什么?

例子:

b64Wavtob64mp3("base64/...");
// Return a mp3 base64

提前致谢!

【问题讨论】:

  • 看这个帖子:stackoverflow.com/questions/23676396/…你可以使用Recordmp3js。
  • 对不起,artex,但我要的是 Cordova,我已经在浏览器中实现了该解决方案,但在设备上它不起作用。还是谢谢!
  • @Goyuso,您已经找到解决方案了吗?谢谢
  • 嗨@bagusflyer,你可以在这里看到我的解决方案。

标签: javascript cordova audio base64 mp3


【解决方案1】:

我完全忘记了base64,因为我正在寻找压缩的音频

解决了!

我用wav2m4a 插件做到了。

https://github.com/xu-li/phonegap-wav2m4a

但我想更进一步,所以我在 iOS 上修改了CDVSound.m。 我只是按照以下说明操作:

https://gist.github.com/jlsuarezs/d48094d431307a466496

  1. CDVSound.m 上添加startRecordingAudio 方法:

    NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey, [NSNumber numberWithFloat:16000.0],AVSampleRateKey, [NSNumber numberWithInt: 1], AVNumberOfChannelsKey, 无];

  2. 替换:

    audioFile.recorder = [[CDVAudioRecorder alloc] initWithURL:audioFile.resourceURL settings:nil error:&error]; // 默认 PCM 录音

    与:

    audioFile.recorder = [[CDVAudioRecorder alloc] initWithURL:audioFile.resourceURL settings:recordSettings error:&error];

    1. 更改其他行: CDVSound.m 检查以确保您使用的是 wav 文件。只需在文件顶部更改它即可防止这种情况发生。

    定义 RECORDING_WAV @"wav"

我改成:

#define RECORDING_WAV @"m4a"

#define RECORDING_M4A @"m4a" 

并更改包含RECORDING_WAV 变量的文件实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2018-10-07
    • 2016-07-16
    • 2013-11-07
    • 1970-01-01
    • 2011-03-04
    • 2019-03-11
    相关资源
    最近更新 更多