2

如果我的任何 Xuggler 用户可以告诉我我做错了什么,那就太棒了!我正在执行以下操作:

  1. 从 ogv 读取(ogg 视频)
  2. 排队音频和视频
  3. 回写到 ogv

听起来很简单吧?我在 QueueMixer 类中遇到的问题是输出文件播放音频的速度太快了 2 倍,而且无论我检查或更改 pts 的内容,它都没有改善。

eclipse 项目和所有正在使用的文件都在这个链接上: http: //dl.dropbox.com/u/7316897/paul-xuggled.zip

要运行测试,编译并执行 StreamManager 类;包含一个测试 ogv 文件。在有人问之前,是的,我必须对数据进行排队,因为它会在未来的版本中与其他数据混合。

4

2 回答 2

0

解决方法是在从 ShortBuffer 中提取样本数时将样本数乘以 2。

samples = new short[(int) audioSamples.getNumSamples() * 2];
audioSamples.getByteBuffer().asShortBuffer().get(samples);
有一半的样本会使音频播放速度提高一倍。

于 2010-09-07T19:09:27.313 回答
0

音频有一个采样率。确保将采样率从输入复制到输出,否则系统可能会使用默认值(例如 44KHz,而原始数据以 22KHz 采样会产生这种效果)。

于 2010-08-30T15:55:31.033 回答