在Java中播放音视频可以使用多种方案,最常见的是通过Swing组件JFrame和JLabel来嵌入JMF(Java Media Framework)或Xuggler。不过,JMF已经不再被推荐使用,而Xuggler是基于DirectX的,不适用于跨平台。而且上述方案都需要使用第三方库。
在JDK 8.0版本中,一个最简单的音视频播放器跨平台解决方案是使用JavaFX,它提供了MediaPlayer类来播放音视频。
JavaFX 最初是由 Oracle 推出的一个用于开发富客户端应用程序的框架,它提供了丰富的用户界面控件、布局容器、3D图形绘制、音视频媒体播放和动画等功能,旨在取代较旧的 Swing 框架。JavaFX 于 2007 年推出,2011 年 10 月发布了2.0 版本。JavaFX 2.0 的一个优点是适用于跨平台,而且可以完全用 Java 语言编写代码。
以下是在JDK 8.0版本使用JavaFX实现音视频播放器的例程:
在上面的代码中,我们首先创建了一个媒体Media对象,其中PATH表示视频文件的路径。然后,我们创建了一个媒体播放器MediaPlayer对象,并将媒体Media对象作为参数传入。接下来,我们创建了一个MediaView对象,用于显示视频内容。然后,我们创建了一个根框架窗体和场景,并将MediaView添加到场景中。最后,我们设置舞台。通过设置MediaPlayer的自动播放功能来播放视频。
说明:
在JDK中不包含JavaFX的时代,Java编程如果没有第三方库的支持是无法正常播放mp3音频文件的。但是有了JavaFX 2.0 一切皆有可能。在本例程中,如果提供一个mp3的文件路径,就可正常播放音频文件。修改一行代码,就能播放音乐。
private static final String PATH = “D:/Temp/大约在冬季.mp3”;
下面是播放视频的截屏:
说明:
很多博文都认为,JavaFX支持多种视频格式,包括常见的MP4、AVI、FLV等格式。下面是我的测试情况:MP4格式的视频是能播放,但有一些MP4视频未显示图像也没报错,原因未知。测试了AVI、RMVB格式的视频,都不能正常播放,报“不支持的格式”例外错误。
JavaFX 2.0 支持的音频和视频格式如下:
下一篇博客:功能更完善的音视频播放器
【多媒体】Java实现MP4和MP3音视频播放器【JavaFX】【更多功能的播放器】【音视频播放】
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/10220.html