- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了下面给出的类来在游戏中实现声音。
执行时出现以下错误。
请有人告诉我为什么会出现此错误以及如何解决它!!
这是我的声音类文件:
package flappyLemon.model.game;
import javax.sound.sampled.*;
public class Sound {
private Clip clip;
public static Sound sound = new Sound("LemonTree.mp3");
public Sound(String fileName) {
try {
AudioInputStream ais = AudioSystem.getAudioInputStream(Sound.class.getResource(fileName));
clip = AudioSystem.getClip();
clip.open(ais);
} catch (Exception e) {
e.printStackTrace();
}
}
public void play() {
try {
if (clip != null) {
new Thread() {
public void run() {
synchronized (clip) {
clip.stop();
clip.setFramePosition(0);
clip.start();
}
}
}.start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
现在我称之为:
Sound.sound.play();
然后我就变成了 NullPointerException:
java.lang.NullPointerException
at com.sun.media.sound.StandardMidiFileReader.getSequence(StandardMidiFileReader.java:207)
at javax.sound.midi.MidiSystem.getSequence(MidiSystem.java:841)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(SoftMidiAudioFileReader.java:178)
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1147)
at flappyLemon.model.game.Sound.<init>(Sound.java:13)
at flappyLemon.model.game.Sound.<clinit>(Sound.java:9)
at flappyLemon.model.FlappyLemon.main(FlappyLemon.java:67)
最佳答案
将音频源文件复制到项目中
像这样:
Java api 不允许 .mp3
文件。您应该使用 .wav 文件。
private Clip clip;
public static Sound sound = new Sound("Yamaha-TG100-Whistle-C5.wav");
public Sound(String fileName) {
try {
AudioInputStream ais = AudioSystem.getAudioInputStream(Sound.class.getResource(fileName));
clip = AudioSystem.getClip();
clip.open(ais);
} catch (Exception e) {
e.printStackTrace();
}
}
了解更多信息click here
关于java - 如何使用 AudioSystem 在 Java 中播放音乐(.mp3)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36409687/
我有一个程序会询问用户他们想要从可用歌曲列表中播放哪些歌曲,并且在用户选择一首歌曲后,一旦歌曲完成,它就会询问用户他们想要再次播放哪首歌曲。我的问题是如何防止循环询问用户他们想要播放哪首歌曲,直到所选
我有许多从 Java 播放的 .wav 文件。在这个精简的示例中,“滴水”是可以听到的,但“嗖嗖”是听不到的,即使它们通过相同的代码运行。 “swish”似乎没有什么不寻常的地方:它在 Gnome 桌
public void run(){ AudioInputStream audioInputStream= new AudioInputStream(pis,audioForm
我在 Java 应用程序中集成了音频。问题是有时clip.open()会挂起一点,所以我读到我需要重新加载剪辑,然后只需clip.start()。 我为每个音频文件使用一个声音类,它会在播放完成后重新
我正在尝试从我的 PC 的线路输入中捕获音频,为此我正在使用 AudioSystem类(class)。静态 AudioSystem.write 方法有两种选择之一:写入文件或写入流。我可以让它很好地写
目标:借助Android上的Java中的AudioinputStream和AudioSystem播放wav声音 private final int BUFFER_SIZE = 128000; priv
我的应用程序涉及通过 Web UI 上传波形文件,将格式转换为 8k、8 位 mulaw 并将其存储在服务器上。我的代码在尝试执行以下操作时在服务器上失败: final AudioInputStrea
我正在尝试使用 Java Sound API 将包含 MP3 文件数据的 InputStream 转换为 AudioInputStream。 但是,当我尝试这样做时,我不断遇到异常。 以下是导致问题的
我想知道从 TargetDataLine.read() 返回的字节格式。我得到数字,但我不知道它们代表什么。任何想法?我在 Google 上尝试查找并阅读 API 文档,但无法解决... 最佳答案 这
AudioManager 有一个 setParameters以字符串表示形式接受键值对的方法 ("parameter_name=parameter_value")。 在内部,它调用原生 AudioSy
我正在 Eclipse 中开发游戏。我有一些播放 wav 文件的代码: public void play(String path) { try { Clip clip = Au
我从InputStream获取字节,但我需要修改它们并将它们保存到Wav文件。 这是我的代码: 套接字发送从麦克风获取的音频。 AudioFormat adfmt = new AudioFormat(
我正在尝试从线路输入制作一些简单的 audiorecorder-player 但我遇到了一个非常烦人的问题:当我尝试使用 AudioSystem.getMixerInfo() 并打印出可用混音器的列表
我创建了下面给出的类来在游戏中实现声音。 执行时出现以下错误。 请有人告诉我为什么会出现此错误以及如何解决它!! 这是我的声音类文件: package flappyLemon.model.game;
您可以通过 Java EE 应用程序使用 AudioSystem 类访问客户端音频输入和输出吗?如果没有,你会怎样做? 最佳答案 您应该使用新的 navigator.getUserMedia() 和
我想在机器人上开发语音识别程序。机器人安装了 gentoo chroot。当我调用 AudioSystem.getMixerInfo() 时,它什么都不返回。 JDK 版本为 jdk-6u35-lin
我的音频项目中的一个库连续输出PCM音频的byte []数组流(以及长度和偏移整数)。我正在学习使用Java Sound API的Tritonus实现来将此PCM流编码为mp3。 Java Sound
我需要制作一个音频播放器,只要该子例程运行,它就会播放一段声音片段。它还必须在播放新声音片段之前停止之前的声音片段。 我遇到的问题是剪辑从未注册为正在运行。检查它是否正在运行的两个 if 语句都没有被
尝试在 java 中播放和音频剪辑,但每次都会弹出此错误。我导入了我需要的所有东西,所以我不确定问题出在哪里。 AudioInputStream audioInputStream = AudioSys
我有一个 AudioInputStream 音频输入,对象本身的编码为 ULAW System.out.println( audioInput.getFormat().getEncoding() );
我是一名优秀的程序员,十分优秀!