2014-09-24 19 views
5

Java'da mp3 ses çalmaya çalışıyorum ve formlardan biri. Sanırım sesimi çalmaya çalışana kadar JavaFX ve her şey yolunda gidiyor. "java.lang.IllegalArgumentException: uri.getScheme() == null!" Ses çalmak için JavaFX kullanarak hata

Bu

kodudur:

import javax.sound.sampled.AudioPermission; 
import javafx.application.Application; 
import javafx.event.ActionEvent; 
import javafx.event.EventHandler; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.layout.StackPane; 
import javafx.scene.media.Media; 
import javafx.scene.media.MediaPlayer; 
import javafx.stage.Stage; 


public class fx_main extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     Button btn = new Button(); 
     btn.setText("Say 'Hello World'"); 
     btn.setOnAction(new EventHandler<ActionEvent>() { 

      @Override 
      public void handle(ActionEvent event) { 
       System.out.println("Hello World!"); 


       Media m = new Media("/04.mp3"); 
       MediaPlayer mp = new MediaPlayer(m); 

       mp.play(); 

      } 
     }); 

     StackPane root = new StackPane(); 
     root.getChildren().add(btn); 

     Scene scene = new Scene(root, 300, 250); 

     primaryStage.setTitle("Hello World!"); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 

Ve i düğmesine basın ve ses dosyası yüklemeye çalıştığınızda, bu istisnayı görünür:

Hello World! 
    Glass detected outstanding Java exception at -[GlassViewDelegate sendJavaMouseEvent:]:src/com/sun/mat/ui/GlassViewDelegate.m:543 
    Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: uri.getScheme() == null! 
     at com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:217) 
     at javafx.scene.media.Media.<init>(Media.java:369) 
     at fx_man$1.handle(fx_man.java:27) 
     at fx_man$1.handle(fx_man.java:1) 
     at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:69) 
     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) 
     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170) 
     at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38) 
     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37) 
     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) 
     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) 
     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) 
     at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53) 
     at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:28) 
     at javafx.event.Event.fireEvent(Event.java:171) 
     at javafx.scene.Node.fireEvent(Node.java:6866) 
     at javafx.scene.control.Button.fire(Button.java:179) 
     at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:193) 
     at com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:336) 
     at com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:329) 
     at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:64) 
     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) 
     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170) 
     at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38) 
     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37) 
     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) 
     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) 
     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) 
     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) 
     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) 
     at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53) 
     at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33) 
     at javafx.event.Event.fireEvent(Event.java:171) 
     at javafx.scene.Scene$MouseHandler.process(Scene.java:3369) 
     at javafx.scene.Scene$MouseHandler.process(Scene.java:3209) 
     at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3164) 
     at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1582) 
     at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2267) 
     at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:250) 
     at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:173) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:292) 
     at com.sun.glass.ui.View.handleMouseEvent(View.java:530) 
     at com.sun.glass.ui.View.notifyMouse(View. 

java:924) 

nasıl hatayı düzeltebilir miyim? Tıkladığımda ses dosyasını çalmak ister miyim? http ile başlayan bir şey gerekiyordu böylece

cevap

İlgili konular