java - 无法弄清楚为什么音频文件不播放 (Java)

标签 java file audio wav

对编码有点菜鸟,但我一直在为计算机科学类(class)创建 Pacman,但由于某种原因,我无法让我的音频正常工作。

基本上,这就是我所写的内容。

public void paint(Graphics g) 
{
    PlayAudio();
    //.... a lot of other stuff
}

我的PlayAudio方法:

public void PlayAudio()
{ 
    try 
    {
        Clip clickClip = AudioSystem.getClip();
        File filePath = new File("opening.wav");
        AudioInputStream ais = AudioSystem.getAudioInputStream(filePath);
        clickClip.open(ais);
        clickClip.start();
    }
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}

编译并执行,但音频文件无法播放。感谢您的帮助!

我已确认我的开头.wav:

  1. 是一个 .wav 文件。
  2. 有正确的名字。
  3. 位于同一目录中。

最佳答案

Java 7 包含用于播放音频的新类。媒体和媒体播放器。示例:

String media = "media.mp3";
Media hit = new Media(media);
MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();

你需要这个库:

import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;

关于java - 无法弄清楚为什么音频文件不播放 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16615968/

相关文章:

python - 使用 python 将文件复制到文件列表中指定的目录

java - 为什么我正在编写的文件中多了一行?

java - 距离上次 "X"一个时钟已经过去了多少时间

java - 如何使用Eclipse浏览java源码

android - 如何从绝对路径检索视频缩略图?

android - 有电话进来时如何停止Android TextToSpeech

audio - SoundJS-将声音分配给变量

构建过程后尝试在 Jenkins 中运行可执行 jar 时出现 Java Headless 异常

java - WebFlux DataBufferLimitException : Part headers exceeded the memory usage limit of 8192 bytes

iphone - AVAudioPlayer 声音文件混合时播放不同步 - iPhone