将Opus数据写入可播放的Opus文件(Java)

时间:2017-11-27 18:05:42

标签: java audio ogg opus

我正在尝试使用Java将来自流的opus音频数据包写入文件,以便可以成功播放文件(通过VLC或者你有什么)。我目前正在使用VorbisJava库。目前,我缓冲所有收到的音频数据包,然后一旦我知道我不再接收音频就写入文件。这是我到目前为止的示例代码:

    public static void writeWithLibrary(List<OpusAudioData> opusAudioData, OutputStream outputStream)
{
    OpusInfo opusInfo = new OpusInfo();
    opusInfo.setNumChannels(1);
    opusInfo.setOutputGain(0);
    opusInfo.setPreSkip(0);
    opusInfo.setSampleRate(48000);

    OpusTags opusTags = new OpusTags();

    OpusFile opusFile = new OpusFile(outputStream,opusInfo,opusTags);

    for (OpusAudioData o : opusAudioData)
    {
        opusFile.writeAudioData(o);
    }

    try
    {
        opusFile.close();
    }
    catch (IOException e)
    {
        logger.error("OpusFileWriter -- Could not write data to OpusFile, aborting");
    }

}

任何帮助将不胜感激。我在这里忽略了什么吗?

0 个答案:

没有答案