浏览 3700 次
锁定老帖子 主题:JMF能否扩展支持除WAV外的格式
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-21
现在发现JMF本身支持的格式有局限,只能支持wav格式,对44.1KHz的MP3不能正常解码,这个就有点让我费解,mp3都是这么广泛接受许可的标准和协议,为什么不支持呢,或者是sun在被Oracle后不再致力于更新这个library? 不知道现在有没有已扩展的JMF lib或者其他可替代品,有的话就可喜了。 谢谢关注。 下面附上JMF播放代码: //下载JMF后加入jar,引入以下class import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.NoPlayerException; import javax.media.Player; import javax.media.RealizeCompleteEvent; private void playTheMP3(File file) { final Player dualPlayer; try { if(file.getAbsolutePath().endsWith("mp3")){ //mp3 file will invoke system default player to play System.out.println("system player is invoked."); Runtime.getRuntime().exec("cmd.exe /c" + file.getAbsolutePath()); return; } //这里开始是JMF处理WAV文件,之前的MP3放开运行的话,不支持44.1Kz String locateString = "file:///" + file.getAbsolutePath();// + fileName; dualPlayer = Manager.createPlayer(new MediaLocator(locateString)); dualPlayer.addControllerListener(new ControllerListener(){ @Override public synchronized void controllerUpdate(ControllerEvent event) { if(event instanceof RealizeCompleteEvent){ Component comp; if((comp = dualPlayer.getVisualComponent()) != null){ add("South", comp); } validate(); } } }); dualPlayer.start(); } catch (NoPlayerException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-21
JMF MP3 Plugin
楼主放狗没? |
|
返回顶楼 | |