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

时间:2015-07-21 06:57:40

标签: javascript cordova audio base64 mp3

我的应用中遇到了麻烦。

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

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

示例:

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

解决!

我用wav2m4a插件做了。

  

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

但我想更进一步,所以我在iOS上修改了CDVSound.m。 我只是遵循了这些指示:

  

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

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

    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文件。只需在文件顶部更改此项就可以防止这种情况发生。
    2. 定义RECORDING_WAV @" wav"

      我把它改为:

      #define RECORDING_WAV @"m4a"
      

      #define RECORDING_M4A @"m4a" 
      

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