0

Javaでサウンドを再生するためにStackoverflowでさまざまなソリューションを見てきました。以下に示す例 (別のトピックから) は、私が使用したいものです。

import java.io.*;
import java.net.URL;
import javax.sound.sampled.*;
import javax.swing.*;

// To play sound using Clip, the process need to be alive.
// Hence, we use a Swing application.
public class SoundClipTest extends JFrame {

   public SoundClipTest() {
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setTitle("Test Sound Clip");
      this.setSize(300, 200);
      this.setVisible(true);

      try {
         // Open an audio input stream.
         URL url = this.getClass().getClassLoader().getResource("gameover.wav");
         AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
         // Get a sound clip resource.
         Clip clip = AudioSystem.getClip();
         // Open audio clip and load samples from the audio input stream.
         clip.open(audioIn);
         clip.start();
      } catch (UnsupportedAudioFileException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      } catch (LineUnavailableException e) {
         e.printStackTrace();
      }
   }

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

しかし、どうすれば src フォルダからファイルを取得できますか (それは既に私の src にあります)。または、src/... フォルダーから .wav ファイルを再生する別のコード ソリューションはありますか?

前もって感謝します!

4

1 に答える 1

1

このコード

this.getClass().getClassLoader().getResource(...) 

クラスがロードされた場所に関連するリソースをフェッチします。ランタイムはsourcesについて何も知りません。ファイルをコンパイル済みのクラス フォルダーに移動すると、これが機能するはずです。

于 2020-05-19T20:35:28.417 に答える