我阅读这段代码是为了使用xuggler作为库来播放视频文件。当我运行这段代码,视频没有声音播放。为什么呢?
如果不是,我应该做什么来播放音频与视频。
很简单,这是因为代码不播放任何音频。它从来没有这样写过!
如果你想播放音频和视频,看看这里的例子:
http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler/src/com/xuggle/xuggler/demos/DecodeAndPlayAudioAndVideo.java对我来说,这个问题表明你没有看教程就抓住了源代码——我强烈建议这样做,这样你就可以理解背后的代码是怎么回事,而不是把它扔到那里,并期望它能工作——特别是如果你计划在任何深度使用Xuggler !
进一步说明,如果你想做的只是播放视频,我可能不会建议你使用Xuggler,因为它不是为这种事情设计的。当然它会播放它们,但你必须自己管理所有的同步问题(上面的例子并没有做得很好),它只会使用你的CPU,因此真的会消耗它的消耗,特别是如果你在做高清视频之类的事情,而后台代码的绝对数量只是多余的(获取流,找到流id,提取每个数据包,确定数据包的类型,适当地处理它,管理错误,等等)。这是一个很棒的软件,但如果你只是用它来播放东西,那么它可能会给你带来远远超过它价值的麻烦。
相反,我主张有一个玩VLCJ -它是有点复杂的设置可靠地工作(出进程的播放器需要坚如磐石的稳定性),但当你得到了这么远,它可以在太阳下播放任何文件类型,并为你管理所有的问题,比你曾经处理过的手要好得多!
我猜你有一个缺失的音频编解码器。我也遇到过同样的问题,反之亦然;