2013-04-07 147 views
0

我想知道是否有方法使用Windows Media Player和VLC Media Player打开mp3文件。 我有文件的路径保存为一个字符串,并想知道我是否可以使用它来打开上述任一应用程序中的文件。 我知道这样做的一种方法是使用Desktop类,但是这会使用默认应用程序(Windows Media Player)打开文件。我将如何打开VLC媒体播放器中的文件?打开使用特定应用程序的MP3文件java

回答

1

尝试

Runtime.getRuntime().exec("<your vlc path> <your file>"); 

I.E.

Runtime.getRuntime().exec("\"C:\\Program Files (x86)\\VideoLAN\VLC\\vlc.exe\" abc.mp3"); 

试图和它的作品

+0

此方法仅在文件路径不包含空格时起作用。如何修改这个以使用任何文件名? 'Process r = Runtime.getRuntime().exec(“\”C:\\ Program Files \\ VideoLAN \\ VLC \\ vlc.exe \“”+ path);'路径变量包含空格。 – user1909680 2013-04-07 13:57:20

+0

@ user1909680只需在您的路径中添加双引号'Process r = Runtime.getRuntime().exec(“\”C:\\ Program Files \\ VideoLAN \\ VLC \\ vlc.exe \“\”“+ path +” \“”);',如果你不知道'\“是什么,它是'''的转义字符,它告诉编译器这个双引号不是关闭字符串,而是添加一个'''给它 – BackSlash 2013-04-07 14:15:46

0

你应该知道的路径VLC和/或WMP。那么你可以使用Runtime这个类。

Process p = Runtime.getRuntime().exec("c:/vlc/vlc.exe " + mp3FileName); 
0

Desktop.open apidocDesktop tutorial它看起来像open方法可以打开其默认关联程序的文件来看。

所以,你(也许)两个选项:

  • access the registry并更改默认协会(不是一个很好的一个)
  • 可能会尝试通过浏览器给人一种URI打开它,这威力导致在所需程序中打开文件。但是,看起来file方案是唯一可接受的解决方案,并且很可能会在默认程序中打开。有一个mms方案,但它用于视频流,并且它很可能会在默认程序中打开。

以下是针对windows,linux和osx变种的Runtime.exec解决方案的link

相关问题