【问题标题】:Android. Convert file from WAV to OGG安卓。将文件从 WAV 转换为 OGG
【发布时间】:2017-02-22 11:58:24
【问题描述】:

搜索抛出堆栈我感到困惑。那么,我的问题是什么:

我正在使用AudioRecord 类录制一些音频,代码如下:

AudioRecord record = new AudioRecord(AudioSource.VOICE_RECOGNITION, 
            SAMPLING_RATE,
            AudioFormat.CHANNEL_IN_MONO,
            AudioFormat.ENCODING_PCM_16BIT,
            mBufferSize);
record.startRecording();

int read = 0;
while (mIsRecording) {
    read = record.read(mAudioBuffer, 0, mBufferSize);
    if ((read == AudioRecord.ERROR_INVALID_OPERATION) ||
            (read == AudioRecord.ERROR_BAD_VALUE) ||
            (read <= 0)) {
        continue;
    }

    proceed();
    write(out);
}

录制完成后,我将这个.pcm原始数据从AudioRecord转换为.wav

private void convertRawToWav() {
    File file_raw = new File(mFileNameRaw);
    if (!file_raw.exists()) { return; }
    File file_wav = new File(mFileNameWav);
    try {
        PcmAudioHelper.convertRawToWav(WavAudioFormat.mono16Bit(SAMPLING_RATE), file_raw, file_wav);
        if (handler != null) {
            handler.onRecordSuccess();
        }
    } catch (IOException e) {
        e.printStackTrace();
        if (handler != null) {
            handler.onRecordSaveError();
        }
    }
}

我以后需要.wav 格式,因为我的应用程序中有修剪功能,从不支持OGG 格式的Ringdroid 复制而来,因此:请不要建议我将音频录制为OGG ON苍蝇

主要问题: Wav 格式太重,我需要将其转换为更小的格式,即 MP3 或 OGG。 MP3 已获得专利,因此不能选择。我需要的是: .wav文件转换为.ogg文件,重量会小很多

我发现了什么: This library,但它只在录制时将.pcm 数据转换为.ogg,我需要在将其修剪为.wav 后转换整个文件

【问题讨论】:

    标签: android wav audio-recording ogg


    【解决方案1】:

    看看this lame wrapper 项目。

    【讨论】:

    • 您好,谢谢回复,但这是 MP3 格式,不适合我,我只需要 OGG
    • 哦,对不起。所以你可以使用像this这样的ffmpeg包装器和运行命令“ffmpeg -i audio.wav -acodec libvorbis audio.ogg”或类似的东西。
    • 理论上我可以,我一直在琢磨它,并得出结论,为一个函数集成如此庞大的库是矫枉过正 =(
    • 同意。您是否考虑过简单的压缩/解压缩 wav 文件?
    【解决方案2】:

    Wav 文件只是一个大标题 + PCM。您需要做的就是删除 WAV 前面的 44 个字节以获取 PCM,并使用您与我们共享的代码转换为 OGG。

    【讨论】:

      猜你喜欢
      • 2013-07-06
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多