2014-10-04 50 views
0

我擔心自本教程開始之日起,JavaFX遭受了一些修改:http://www.youtube.com/watch?v=bWl98dhvf8QJavaFX中的MediaPlayer

請給我一些提示,我應該在這段代碼中改變什麼,或者這種代碼有效嗎?謝謝。

下面的代碼:

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.media.Media; 
import javafx.scene.media.MediaPlayer; 
import javafx.scene.media.MediaView; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage; 
import javafx.scene.Group; 


public class BiPlayer extends Application { 

    public static void main(String[] args){ 

     launch(args); 

    } 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     Group videoPane = new Group(); 

     Media media = new Media("C:\\Users\\Insanovation\\Downloads\\P.mp4"); 
     MediaPlayer player = new MediaPlayer(media); 
     MediaView view = new MediaView(player); 

     videoPane.getChildren().add(view); 
     Scene scene = new Scene (videoPane, 400, 400, Color.BLACK); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 

     player.play(); 
    } 
} 

下面是輸出:

Exception in Application start method 
java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363) 
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) 
Caused by: java.lang.RuntimeException: Exception in Application start method 
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(LauncherImpl.java:157) 
    at com.sun.javafx.application.LauncherImpl$$Lambda$48/1394438858.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\Insanovation\Downloads\F.mp3 
    at javafx.scene.media.Media.<init>(Media.java:383) 
    at biplayer.BiPLAYER.start(BiPLAYER.java:24) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(LauncherImpl.java:821) 
    at com.sun.javafx.application.LauncherImpl$$Lambda$51/270894642.run(Unknown Source) 
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(PlatformImpl.java:323) 
    at com.sun.javafx.application.PlatformImpl$$Lambda$44/1147985808.run(Unknown Source) 
    at com.sun.javafx.application.PlatformImpl.lambda$null$164(PlatformImpl.java:292) 
    at com.sun.javafx.application.PlatformImpl$$Lambda$47/1822121612.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(PlatformImpl.java:291) 
    at com.sun.javafx.application.PlatformImpl$$Lambda$45/1267032364.run(Unknown Source) 
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
    at com.sun.glass.ui.win.WinApplication.lambda$null$141(WinApplication.java:102) 
    at com.sun.glass.ui.win.WinApplication$$Lambda$37/636718812.run(Unknown Source) 
    ... 1 more 
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\Insanovation\Downloads\F.mp3 
    at java.net.URI$Parser.fail(URI.java:2848) 
    at java.net.URI$Parser.checkChars(URI.java:3021) 
    at java.net.URI$Parser.parse(URI.java:3058) 
    at java.net.URI.<init>(URI.java:588) 
    at javafx.scene.media.Media.<init>(Media.java:381) 
    ... 15 more 
Exception running application biplayer.BiPLAYER 
Java Result: 1 
+1

你使用哪種操作系統?請非常準確。你確定你安裝了所有的依賴嗎? – gouessej 2014-10-04 23:02:29

+0

JDK 1.8.0_20,昨天我在Ubuntu 14.04上使用它:Windows 8.1 Pro。我更改了Windows類型的路徑格式:「C:\\ Users \\ Insanovation \\ Downloads \\ F.mp3」。 – Insanovation 2014-10-05 14:15:32

+0

根據我的「Windows情況」,我編輯了這個問題。 – Insanovation 2014-10-05 14:16:34

回答

1

望着那您複製和粘貼的例外,很明顯,拋出的異常是一個的URISyntaxException。然後列出索引爲2的問題字符(反斜槓字符)。

如果您查看URI herehere的文檔,您將看到在URI中只有正斜槓是可接受的。如果您將路徑中的反斜槓更改爲正斜槓,如下所示:

file:C:/Users/Insanovation/Downloads/F.mp4 

我相信它應該可以工作。

+0

我很感謝你的支持,但是,已經有一段時間了。向上和接受作爲答案,對於倡議,也許這應該是解決方案! – Insanovation 2015-08-26 06:04:52

+0

我沒有意識到這個主題多大了!哇!我只是瀏覽了javaFX MediaPlayer相關的問題。感謝您的支持! – pulse0ne 2015-08-26 18:51:43

相關問題