1

メディアプレーヤークラスは良いです。ただし、別のクラスに保存されている mp3 ファイルを再生できません (マウスをクリックしたとき)。誰かが私のコードをチェックできますか?

 package mediaplayer;

     import javafx.application.Application;
     import javafx.scene.Group;
     import javafx.scene.Scene;
     import javafx.scene.media.Media;
     import javafx.stage.Stage;

     public class MediaPlayer extends Application {
         private static final String MEDIA_URL = "http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv";
         private static String arg1;

         @Override public void start(Stage stage) {
             stage.setTitle("Media Player");
             Group root = new Group();
             Scene scene = new Scene(root,600,265);
             // create media player
             Media media = new Media((arg1 != null) ? arg1 : MEDIA_URL);
             javafx.scene.media.MediaPlayer mediaPlayer = new javafx.scene.media.MediaPlayer(media);
             mediaPlayer.setAutoPlay(true);
             MediaControl mediaControl = new MediaControl(mediaPlayer);
             scene.setRoot(mediaControl);
              scene.getStylesheets().add(MediaPlayer.class.getResource("mediaplayer.css").toExternalForm());
             // show stage
             stage.setScene(scene);
             stage.show();
         }

         public static void main(String[] args) {
             if (args.length > 0) {
                 arg1 = args[0];
             }
             Application.launch(args);
         }
     }

これは、オーディオ ファイルを再生するために使用しようとしているクラスです。

     package mediaplayer;

     import java.awt.Cursor;

     /**
      *
      * @author Yves
      */
     public class LacherPrise extends javax.swing.JFrame {

         /**
          * Creates new form LacherPrise
          */
         public LacherPrise() {

             this.setVisible(true);
             // définition de la taille de la fenêtre de l’éditeur
             setBounds(200, 100, 800, 600);

             initComponents();
         }

プログラムを実行すると (下のマウス クリックで)、次の 2 つのエラーが発生します。 エラー no1: スレッド "AWT-EventQueue-0" で例外" java.lang.IllegalStateException: Toolkit が初期化されていません Exception の実装方法についてサポートが必要です。

private void audio010MouseClicked(java.awt.event.MouseEvent evt) {                                      
    //getting URL to a sound file stored locally
    String MEDIA_URL = "file:///C:/Users/Yves/Documents/NetBeansProjects/ExamenFinSessionJavaFX/src/RessourcesLacherPrise/Aff010.mp3";
    Media media = new Media(MEDIA_URL.toString());
    MediaPlayer MediaPlayer = new MediaPlayer();
    MediaPlayer.play(MEDIA_URL);
}                  
4

1 に答える 1

0

私が信じる主な問題は、JavaFX ツールキットが初期化されていないことです。次の質問を見てください。

JavaFX 2.1: ツールキットが初期化されていません

これをコードの最初に置くだけで、問題を解決できます。
new JFXPanel();

于 2013-10-21T15:14:51.837 に答える