2012-04-08 107 views
2

这可能是一个简单的,但我似乎无法让它工作。我在JavaFX中制作视频播放器,但我不知道如何定位将要播放的文件(我不知道正确的语法)。预先感谢您的帮助。下面是我试图运行的代码示例>如何在Java/JavaFX中定位文件(它的路径)

Media media = new Media("trailers/trailer.mp4"); 
    MediaPlayer player = new MediaPlayer(media); 
    MediaView view = new MediaView(player); 

顺便说一句,该文件是在项目文件夹,然后拖车/ trailer.mp4。哦,我正在运行Windows。

回答

3

把你的文件到源文件夹中,并加载它作为一种资源:

Media media = new Media(getClass().getResource("trailer.mp4")); 

或使用完整路径

Media media = new Media("file://c:/trailers/trailer.mp4")); 

另外,还要注意的JavaFX 2.0仅支持FLV编解码器。对于MP4(使用H.264编解码器),您需要使用JavaFX 2.1或更高版本。

+1

以防万一,更新。 JavaFX 8.0和JavaFX 9.0也支持H.264。 – 1vand1ng0 2017-11-29 14:54:31

6

1如果媒体源文件位于同一个项目包中,请使用此项。

Media media = new Media("trailer.mp4"); 

2使用此,如果在同一个项目子包媒体源文件[项目主要包套餐名称为“拖车”]

Media media = new Media("trailers/trailer.mp4"); 

3使用这个,如果媒体源文件的位置[使用完整路径]。

Media media = new Media("file:///e:/trailers/trailer.mp4"); 

OR

Media media = new Media("file:///E:/trailers/trailer.mp4"); 

注:应使用3斜线即 “文件:///”,以避免错误 “MediaException:MEDIA_INACCESSIBLE:E/E”

3

如果要加载媒体从您的项目包:

File file=new File("trailer.mp4"); 
Media media=new Media(file.toURI().toString()) 
相关问题