- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我确信文件名是正确的!那么 AudioSystem.getAudioInputStream
中的问题是什么?
public class Main {
public static void main(String[] args) {
public static Clip clip;
AudioInputStream audioStream = null;
try {
//URL soundUrl = Main.class.getResource("D:/eclipse/workplace/AudioTestAPI/2.mp3");
URL soundUrl = Main.class.getResource("D:/eclipse/workplace/AudioTestAPI/3.wav");
audioStream = AudioSystem.getAudioInputStream(soundUrl);//42
clip.open(audioStream);
} catch(LineUnavailableException e) {
e.printStackTrace();
} catch(UnsupportedAudioFileException ex) {
ex.printStackTrace();
} catch(IOException eo) {
eo.printStackTrace();
}
clip.start();
do {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} while(clip.isActive());
}
}
结果:
Exception in thread "main" java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
at java.desktop/javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1032)
at Main.main(Main.java:42)
最佳答案
发生java.lang.NullPointerException
是因为您的变量soundUrl
是null
。
试试这个:
File file = new File("D:/eclipse/workplace/AudioTestAPI/3.wav");
audioStream = AudioSystem.getAudioInputStream(file);
让我知道我的建议后发生了什么。
编辑:
package com.acme.audio;
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class Main {
public static void main(String[] args) throws LineUnavailableException {
Clip clip = AudioSystem.getClip();
AudioInputStream audioStream = null;
try {
File file = new File("D:/eclipse/workplace/AudioTestAPI/3.wav");
audioStream = AudioSystem.getAudioInputStream(file);
clip.open(audioStream);
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (UnsupportedAudioFileException ex) {
ex.printStackTrace();
} catch (IOException eo) {
eo.printStackTrace();
}
clip.start();
do {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} while (clip.isActive());
}
}
关于java - 为什么执行AudioSystem.getAudioInputStream时出现nullpointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61915708/
我有一个程序会询问用户他们想要从可用歌曲列表中播放哪些歌曲,并且在用户选择一首歌曲后,一旦歌曲完成,它就会询问用户他们想要再次播放哪首歌曲。我的问题是如何防止循环询问用户他们想要播放哪首歌曲,直到所选
我有许多从 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() );
我是一名优秀的程序员,十分优秀!