AudioSystem.getAudioInputStream出错

时间: 2023-10-25 18:38:03 浏览: 17
AudioSystem.getAudioInputStream() 方法是用于获取音频输入流的方法。如果该方法出错,通常是由于以下原因之一: 1. 文件不存在或不可访问:请确保文件路径正确,并且您的程序具有足够的权限来访问该文件。 2. 不支持的音频格式:请确保您尝试读取的文件是支持的音频格式。您可以使用 AudioSystem.getAudioFileTypes() 方法来获取所有支持的音频文件类型。 3. 编码器不可用:如果您尝试读取的文件是一个压缩文件(例如MP3),则需要访问编码器才能解码该音频文件。如果您的程序没有正确安装和配置编码器,则可能会导致此错误。 4. 其他问题:如果以上方法都不能解决问题,请尝试查看异常信息以获取更多详细信息,并进行进一步的调试。
相关问题

File of unsupported format at java.desktop/javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1064) at RandomSongPlayer.main(RandomSongPlayer.java:20)

这是一个Java程序中的错误,它可能是由于尝试打开不支持的音频文件格式引起的。具体来说,程序试图使用javax.sound.sampled.AudioSystem.getAudioInputStream()方法打开一个不支持的音频文件格式。你可以尝试检查你的代码,确保你正在使用支持的音频格式,或者尝试使用其他方法打开音频文件。如果问题仍然存在,你可以考虑寻求更详细的错误信息或者查找其他类似问题的解决方案。

package com.chess; import javax.sound.sampled.*; public class BackgroundMusic { public static void main(String[] args) { try { AudioInputStream audioInputStream = AudioSystem.getAudioInputStream( BackgroundMusic.class.getResourceAsStream("sound/music.wav")); AudioFormat format = audioInputStream.getFormat(); DataLine.Info info = new DataLine.Info(Clip.class, format); Clip clip = (Clip) AudioSystem.getLine(info); clip.open(audioInputStream); clip.loop(Clip.LOOP_CONTINUOUSLY); } catch (Exception e) { e.printStackTrace(); } } }这段代码为什么AudioInputStream audioInputStream = AudioSystem.getAudioInputStream报错

如果在执行 `AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(BackgroundMusic.class.getResourceAsStream("sound/music.wav"))` 这行代码时出现错误,通常是由于找不到背景音乐文件或者文件格式不受支持所致。请检查以下几点: 1. 检查音乐文件路径是否正确。在上面的代码中,音乐文件路径为 `sound/music.wav`,表示 `music.wav` 文件位于 `sound` 目录下。请确认文件路径是否正确,并且文件是否存在于该路径下。 2. 检查音乐文件格式是否受支持。Java内置的音频库 `javax.sound.sampled` 支持多种格式的音频文件,但并不是所有格式都被支持。请确认音乐文件的格式是否为 `WAV`、`MP3`、`AIFF`、`AU`、`SND` 中的一种,并且文件本身是否正常。 如果以上两点都没有问题,仍然无法解决问题,请提供更多的错误信息以便更好地进行排查。

相关推荐

public class Music extends Thread { private String fileName; private final int EXTERNAL_BUFFER_SIZE = 524288; public Music(String wavFile) { this.fileName = wavFile; } @SuppressWarnings("unused") public void run() { File soundFile = new File(fileName); // 播放音乐的文件名 if (!soundFile.exists()) { System.err.println("Wave file not found:" + fileName); return; } while (true) { // 设置循环播放 AudioInputStream audioInputStream = null; // 创建音频输入流对象 try { audioInputStream = AudioSystem.getAudioInputStream(soundFile); // 创建音频对象 } catch (UnsupportedAudioFileException e1) { e1.printStackTrace(); return; } catch (IOException e1) { e1.printStackTrace(); return; } AudioFormat format = audioInputStream.getFormat(); // 音频格式 SourceDataLine auline = null; // 源数据线 DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); try { auline = (SourceDataLine) AudioSystem.getLine(info); auline.open(format); } catch (LineUnavailableException e) { e.printStackTrace(); return; } catch (Exception e) { e.printStackTrace(); return; } if (auline.isControlSupported(FloatControl.Type.PAN)) { FloatControl pan = (FloatControl) auline.getControl(FloatControl.Type.PAN); } auline.start(); int nBytesRead = 0; byte[] abData = new byte[EXTERNAL_BUFFER_SIZE]; try { while (nBytesRead != -1) { nBytesRead = audioInputStream.read(abData, 0, abData.length); if (nBytesRead >= 0) auline.write(abData, 0, nBytesRead); } } catch (IOException e) { e.printStackTrace(); return; } finally { auline.drain(); // auline.close(); } } } }解释上面代码

最新推荐

recommend-type

Android audio知识总结.pdf

Android audio知识总结,学习音视频的朋友可以看一看,内容比较详细
recommend-type

MTK平台Audio格式.doc

MTK平台Audio格式.doc MTK平台Audio格式.doc MTK平台Audio格式.doc MTK平台Audio格式.doc MTK平台Audio格式.doc
recommend-type

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

实现实时监控告警系统:Kafka与Grafana整合

![实现实时监控告警系统:Kafka与Grafana整合](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9BVldpY3ladXVDbEZpY1pLWmw2bUVaWXFUcEdLT1VDdkxRSmQxZXB5R1lxaWNlUjA2c0hFek5Qc3FyRktudFF1VDMxQVl3QTRXV2lhSWFRMEFRc0I1cW1ZOGcvNjQw?x-oss-process=image/format,png) # 1.1 Kafka集群架构 Kafka集群由多个称为代理的服务器组成,这