如何在Java中播放3gp文件?

时间:2011-06-23 11:37:51

标签: java media jmf 3gp

这是一个Java问题。 我尝试使用Fobs4jmf来播放3gp。我可以看到视频,但没有任何声音。 有没有解决方案?

我尝试了一个名为xuggler的新库,但我只看到如何操作,修改视频而不是播放视频文件。是否可以使用它播放视频,声音?

这是Fobs4jmf无法播放的音频文件(纯音文件) http://gonow.no-ip.org/example.3gp

由于

1 个答案:

答案 0 :(得分: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库,VLCJ应该可以打开任何媒体格式和容器。但是,问题是由于以下声明(来自维基百科),GPL版本的libVLC / VLC不支持3GP容器中使用的AMR音频格式:

  

要将AMR用作音频编解码器,必须使用AMR编译VLC和FFmpeg   支持。这是因为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