2016-05-31 18 views
-3

はい私はオンラインスタックフローを調査しました。そして、彼らは "サウンド/オーディオ"と私はまた "写真"は実行可能なjarファイルから再生されないと信じている質問があります。実行可能なjarファイルとしてのファイル - サウンド/画像はGUIボタンでは機能しません

wavファイルはjarファイルに入っています...私はwinrarを使って確認しました。

コマンドプロンプトから実行したところ、サウンドが再生されませんでした。

java.io.FileNotFoundException:C:\ユーザーはビジャン\デスクトップ\サウンドを\ \ SexySounds1.wav(システムは指定されたパスを見つけることができません)

などと与えられたエラーのいずれかがということでした...私はもう一つ追加することがあります。実行可能なjarファイルからピクチャだけが使用されているときにピクチャが実際にボタンで動作するのですが、オーディオ(wav)ファイルを実装するボタンを使用しようとするとオーディオが再生されないようです。

このコードでは、JOptionPaneを選択し、そのボックス内の画像とオーディオ(wav)ファイルを入れます。以下のコードは、GUIプログラムの "Relax"ボタン用です。

JButton btnNewButton_1 = new JButton("Relax"); 
     btnNewButton_1.addActionListener(new ActionListener() { 
      private int counter = 0; 
      public void actionPerformed(ActionEvent e) { 

        String soundName1 = "Sounds/SexySounds1.wav"; 
        String soundName1a = "Sounds/SexySounds2a.wav"; 
        String soundName2 = "Sounds/HoShit.wav"; 
        String soundName3 = "Sounds/SexySounds2.wav"; 
        AudioInputStream audioInputStream = null; 

        JOptionPane opt = new JOptionPane(""); 
        opt.setPreferredSize(new Dimension(210, 325)); 
        final JDialog dialogBoxTitle = opt.createDialog("Sexy Woman"); 
        try{ 
        if(counter == 0){ 


         Image pic = new ImageIcon(this.getClass().getResource("/SexyWoman.png")).getImage(); 
         opt.setIcon(new ImageIcon(pic)); 
         audioInputStream = AudioSystem.getAudioInputStream(new File(soundName1).getAbsoluteFile()); 


        } 
        if(counter == 1){ 
         Image pic = new ImageIcon(this.getClass().getResource("/Sexy Woman #2.jpeg")).getImage(); 
         opt.setIcon(new ImageIcon(pic)); 
         audioInputStream = AudioSystem.getAudioInputStream(new File(soundName2).getAbsoluteFile()); 
         try { 
          Thread.sleep(500L); 


         } catch (InterruptedException e1) { 

          e1.printStackTrace(); 
         } 
         } 
        if(counter == 2){ 
         Image pic = new ImageIcon(this.getClass().getResource("/SexyWoman#3.jpeg")).getImage(); 
         opt.setIcon(new ImageIcon(pic)); 
         audioInputStream = AudioSystem.getAudioInputStream(new File(soundName1a).getAbsoluteFile()); 

         } 
        if(counter == 3){ 
         Image pic = new ImageIcon(this.getClass().getResource("/SexyWoman#4.jpeg")).getImage(); 
         opt.setIcon(new ImageIcon(pic)); 
         audioInputStream = AudioSystem.getAudioInputStream(new File(soundName3).getAbsoluteFile()); 

         } 
        if(counter == 4){ 
         Image pic = new ImageIcon(this.getClass().getResource("/Bijan's Picture.png")).getImage(); 
         opt.setIcon(new ImageIcon(pic)); 
         }} catch (UnsupportedAudioFileException e1) { 

          e1.printStackTrace(); 
         } catch (IOException e1) { 

          e1.printStackTrace(); 
         } 
         Clip clip = null; 
         try { 
          clip = AudioSystem.getClip(); 
         } catch (LineUnavailableException e1) { 

          e1.printStackTrace(); 
         } 
         try { 
          clip.open(audioInputStream); 
         } catch (LineUnavailableException e1) { 

          e1.printStackTrace(); 
         } catch (IOException e1) { 

          e1.printStackTrace(); 
         } 
         clip.start(); 
         counter++; 
        new Thread(new Runnable() 
         { 
          public void run() 
          { 
          try{ 


           Thread.sleep(1500); 

           }catch (InterruptedException e) { 

           e.printStackTrace(); 
          }}}).start(); 
           dialogBoxTitle.setVisible(true); 

      } 

      } 
     ); 

ビジャン

PS:私は、wavファイルはjarファイルにあった場合は、本当に見てみたかった、と私は、コマンドプロンプトを実行すると:「SuperMathBattler1a.jar」-jar のJavaプログラムが実行されます。私が使用してjarファイルの内容を表示しようとすると、まだ:SuperMathBattler1a.jar

TF

jarファイルをそれからそれは、このエラーを与える:

「ジャーを」操作可能な、内部または外部コマンドとして認識されていませんプログラムまたはバッチファイル。

調査したところ、 "PATH"を変更しなければならないということでしたが、それを実行するとパスが正しいはずなので意味がありません。おそらく、このコンピュータで本当にうまくいくものがあります。

C:私は、コマンドプロンプトから実行Users \ユーザー\ビジャン\デスクトップ>

と私はジャーTFのfilename.jarに入る

jarファイルは、デスクトップフォルダ内にある、まだjarファイルの表示内容をdoesntの、私が入力したときにそれを実行します--- java -jar "filename.jar"

答えて

0

私は自分自身の初心者です。 GUIを実行可能な.jarにしました。あなたにも同じ問題がありました。私のGUIは、さまざまなリスナーと1つの.wavの写真が異なっています。私の実行可能な.jarは、それらを表示または再生しません。誰も私に言わなかった、私はただ推測することによって見つけた。 jarはこれらのファイルへのパスを「保存」していますが、jarファイルと同じフォルダにファイル自体を含める必要があります。これが分離されると、瓶はそれらなしで実行されます。

例: 元のクラスフォルダに元の.jarを作成しました。JCreatorのすべてを実行しました。すべての写真と.wavがそのフォルダにあるため、.jarは意図したとおりに動作します。

.jarを私のデスクトップ上で自分専用の新しいフォルダにコピーして貼り付けました。実行するためにそれをクリックし、写真やwavなしで走った。

写真と.wavを同じ.jar排他的なフォルダにコピー&ペーストして、写真、音楽、そしてすべてを意図したとおりに動かしました。

私はJavaの初心者として一般的なタイトルのファイルパスを作成できますが、さまざまな.jarフォルダ内の異なる写真を使用して.jarをカスタマイズ可能にするということを学びました。 例:私の友人を設定するリスナーがログインした後、GUI上にPICに直面加え同じ前述の.jarに

パスコードでは friendsPic =新しいイメージアイコン(「friend.jpg」)を有します。

"Log In"のリスナーで、if(logIn.equals( "Sarah")|| logIn.equals( "Deena"))を追加し、friendsPicをパネルに追加しました。

違いは、私はこのコードで.jarを作成しました。私は.jarを2つの別々のフォルダに複製しました。 1つは私の友人ディナに、もう1つはサラに送ってほしい。 Deenaのフォルダには、彼女のタイトル「友人」の.jarと.jpgがあります。 Sarahのフォルダには、まったく同じ.jarと「friend」というタイトルの.jpgがあります。 .jarはfriendというラベルの付いたファイルへのパスがあるということだけを知ることはできません。それぞれのフォルダから両方の.jarを実行できます。 DeenaのフォルダにはDeenaの写真が表示されているので、彼女の写真は彼女の写真を表示します。 Sarahのフォルダには彼女の写真が表示されているので、彼女の写真が表示されます。

これは、経験豊富なプログラマーが与えた可能性のある正確な答えではなかったとしても、これが役立つことを願っています。

+0

私が手伝ってくれてありがとうございました。しかし、私は混乱しています。 jarファイルが正常に動作するようになったら、それを通常の.exeファイルに変換してダブルクリックで開くことができるためです。私は確信していませんが、私は別のjarファイルを作成する必要があり、新しく作成されたフォルダ内の実行可能なjarファイルとしてしか機能しませんでしたが、それを.exeファイルに変換すれば、わからない。だから私は私が何をすべきか説明してください私は混乱しているので、私は別のフォルダと私のパスを追加してください...あなたがもっとそれを分解してください... – Bjon123abc

+0

だから私は書いた別のフォルダ内にjarファイルを作ることができますファイルが分離されて実行されるので、基本的には論理はファイルが分離されているためサウンドが再生されていないということです。しかし、写真はうまくいく。オーディオはうまく動かないだけです。それはGUIボタンのプレスと関係があります。私がボタンプレスで実装されていないプリセット写真を持っていると、写真が表示されます。ボタンを押すだけで写真を撮ると、写真が動きます。ボタンを押しながらオーディオを使用すると、オーディオが再生されないように見えます。私はパススルー/ SexySounds1.wavのようにパスを意味すると思いますか? – Bjon123abc

+0

プロジェクトフォルダは次のように設定されています:AwesomeGuiRpg1a(プロジェクト名)> AwesomeGuiRpg1aCharacterPics(ソースフォルダ)> AwesomeGuiProject1aPackage(パッケージ)>パッケージ内には11個のfiles.java ...プロジェクトフォルダ内AwesomeGuiRpg1aまた、フォルダ---ピクチャ、サウンド、Sounds2、dataSaveLoad ... jarファイルを作成すると、どのファイルがjarファイルに置かれているかがわかります。wavファイルが置かれていることを示しています。ファイルはすべてjarファイルにあります。パスではどういう意味ですか?あなたは私を意味しますか? – Bjon123abc

関連する問題