如何在 Android 中将编码的 Opus 流文件保存为 .ogg/.opus 及其标头

问题描述

我正在使用这个库 (https://github.com/theeasiestway/android-opus-codec) 来编码和解码音频文件。我可以存储编码的 opus 文件,然后通过 AudioTrack 解码和播放。但是我需要将它保存为带有标题的 .opus/.ogg 文件,然后只有我才能通过 android 内置的 opus 解码器(用于媒体播放器)播放。目前我正在将解码的 PCM 转换为 WAVE 以通过媒体播放器播放。任何帮助将不胜感激,原谅我的英语不好。

解决方法

我在这个库(https://github.com/Gagravarr/VorbisJava)的帮助下解决了这个问题。

    OpusInfo info = new OpusInfo();
    info.setNumChannels(1);
    info.setSampleRate(16000);
    OpusTags tags = new OpusTags();
    OpusFile file = new OpusFile(fileOutputStream,info,tags);
    OpusAudioData data = new OpusAudioData(encoded);
                        file.writeAudioData(data);