2011-06-23 39 views
5

這是一個Java問題。 我嘗試使用Fobs4jmf播放3gp。我可以看到視頻,但沒有任何聲音。 有沒有解決方法?如何在Java中播放3gp文件?

我嘗試一個名爲xuggler的新庫,但我只看到如何操作,修改視頻而不是播放視頻文件。是否有可能使用它播放視頻,聲音?

這裏是不能被Fobs4jmf播放的音頻文件(純音文件) http://gonow.no-ip.org/example.3gp

感謝

+1

代碼會有所幫助,另外,在RealPlayer,VLC等文件中播放文件 – Tim

+0

Thx,但這是因爲fobs4jmf不支持這種格式。 我現在切換到VLCJ。我可以用聲音和視頻播放3gp文件。但我仍然無法用純音播放3gp。 以下是代碼: http://code.google.com/p/vlcj/source/browse/tags/vlcj-1.1.5/vlcj/src/test/java/uk/co/caprica/vlcj/ test/minimal/MinimalTestPlayer.java – Bear

回答

1

從你example.3gp,它指出其屬性如下(使用KMP播放器):

C:\Documents and Settings\DEVELOPER\Desktop\example.3gp 
    General 
     Complete name : C:\Documents and Settings\DEVELOPER\Desktop\example.3gp 
     Format : MPEG-4 
     Format profile : 3GPP Media Release 4 
     Codec ID : 3gp4 
     File size : 5.23 KiB 
     Duration : 3s 460ms 
     Overall bit rate : 12.4 Kbps 
    Audio #1 
     ID : 1 
     Format : AMR 
     Format/Info : Adaptive Multi-Rate 
     Format profile : Narrow band 
     Codec ID : samr 
     Duration : 3s 460ms 
     Bit rate mode : Constant 
     Bit rate : 5 200 bps 
     Channel(s) : 1 channel 
     Sampling rate : 8 000 Hz 
     Resolution : 16 bits 
     Stream size : 2.20 KiB (42%) 
     Title : SoundHandle 
     Writing library : 

您可以通過VLCJ使用libVLC/VLC庫,它應該能夠打開任何媒體格式和容器。但是,問題是,libVLC/VLC的GPL版本不支持3GP容器中使用AMR音頻格式,由於以下(維基百科)statment:

要使用AMR音頻編解碼器,VLC和FFmpeg的必須是編譯AMR 支持。這是因爲AMR許可證與 VLC許可證不兼容。

此外,參照此消息http://mailman.videolan.org/pipermail/vlc-devel/2011-February/078807.html時,它說:

在任何情況下,解析AMR由了libavformat和libavcodec從 做了FFmpeg的項目,而不是直接由VideoLAN的項目。

通過上面的消息線程去,哪怕是能夠通過限制版,打開AMR音頻格式,它也有與AMR文件尋租問題:

http://mailman.videolan.org/pipermail/vlc-devel/2011-February/078814.html

+0

即將到來的libVLC版本1.2.0-pre1應能夠解碼AMR音頻 – ecle