如何在 JavaScript 中将 base64 wav 转换为 base64 mp3

How to convert base64 wav to base64 mp3 in JavaScript

我的应用程序有问题。

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

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

示例:

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

提前致谢!

我完全忘记了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]; // 默认 PCM 录音

    有:

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

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

    定义RECORDING_WAV@"wav"

我改成了:

#define RECORDING_WAV @"m4a"

#define RECORDING_M4A @"m4a" 

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