Sadece JavaFX ile çalışmaya başladım. Temellerinin nasıl çalıştığını biliyorum. Medyayı ve mediaplayer sınıflarını "sound.mp3" adlı bir ses çalmak için kullanmaya çalıştım. Tutulumda programlama yapıyorum ve ses dosyasını src klasöründe, "(varsayılan paket)" ile aynı klasörde var. Benim kodum:JavaFX ile ses çalma
import javafx.scene.media.*;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application{
public static void main(String[] args){
launch(args);
}
@Override
public void start(Stage primaryStage){
primaryStage.setTitle("Hello World!");
String ssound = "sound.mp3";
Media sound = new Media(ssound);
MediaPlayer mediaPlayer = new MediaPlayer(sound);
mediaPlayer.play();
StackPane root = new StackPane();
primaryStage.setScene(new Scene(root, 800, 450));
primaryStage.show();
}
}
Lütfen bana ne yapıyorum yanlış söyle.
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at com.sun.javafx.application.LauncherImpl.access$000(Unknown Source)
at com.sun.javafx.application.LauncherImpl$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.IllegalArgumentException: uri.getScheme() == null!
at com.sun.media.jfxmedia.locator.Locator.<init>(Unknown Source)
at javafx.scene.media.Media.<init>(Unknown Source)
at Main.start(Main.java:16)
at com.sun.javafx.application.LauncherImpl$5.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$5.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$4$1.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$4$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl$4.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
at com.sun.glass.ui.win.WinApplication$3$1.run(Unknown Source) ... 1 more
'uri.getScheme() == null' temel alınarak, yalnızca bir dosya adı yerine ses dosyası için bir URI sağlamanız gerektiğini varsayalım. –
"Kaynak geçerli bir URI'yi temsil etmeli ve değişmez. Sadece HTTP, FILE ve JAR URL'leri desteklenmelidir." http://docs.oracle.com/javafx/2/api/javafx/scene/media/Media.html#Media(java.lang.String) –