Java 异常从资源 .wav 读取流

2023-12-30

我想我的代码没问题,我的 .jar 文件里面的 .wav 没问题。 但是当我尝试使用 getResourceAsStream 加载它时,出现错误。

这是我的错误:

java.io.IOException: mark/reset not supported
    at java.util.zip.InflaterInputStream.reset(Unknown Source)
    at java.io.FilterInputStream.reset(Unknown Source)
    at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unkno
wn Source)
    at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
    at operation.MainWindowOperations.prepareAudio(MainWindowOperations.java
:92)
    at operation.MainWindowOperations.<init>(MainWindowOperations.java:81)
    at graphics.LaunchGraphics.<init>(LaunchGraphics.java:25)
    at run.RunApp.main(RunApp.java:14)

这是我的代码:

private void prepareAudio() {
    try {

        InputStream is = this.getClass().getClassLoader().getResourceAsStream("beep.wav");
        inputStream = AudioSystem.getAudioInputStream(is);
        clip = AudioSystem.getClip();
        clip.open(inputStream);

    } catch (Exception ex) {
        ex.printStackTrace();

    }

}

有人能帮我吗?非常感谢!


Java Sound 需要可重新定位(支持标记/重置)输入流来执行某些操作。如果您遇到此问题,那是因为流不可重新定位。

解决这个问题的一种方法是将byte[]将原始流转化为ByteArrayInputStream,支持标记/重置。


Eric R. 链接的问题的第二个答案也是可能的,而且看起来更简单。要尝试一下,改变..

InputStream is = this.getClass().getClassLoader().getResourceAsStream("beep.wav");
inputStream = AudioSystem.getAudioInputStream(is);

To:

URL url = this.getClass().getClassLoader().getResource("beep.wav");
inputStream = AudioSystem.getAudioInputStream(url);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 异常从资源 .wav 读取流 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • Spring安全“记住我”cookie在第一个请求中不可用

    我无法在登录请求后检索 Spring 记住我 cookie 但它在对受保护页面的下一个请求中工作正常 谁能告诉我怎样才能立即得到它 我在登录请求中设置了记住我的 cookie 但在 Spring 重定向回原始 受保护的 url 后无法检索它
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • 主线程如何在该线程之前运行?

    我有以下代码 public class Derived implements Runnable private int num public synchronized void setA int num try Thread sleep 1
  • 在java中实现你自己的阻塞队列

    我知道这个问题之前已经被问过并回答过很多次了 但我只是无法根据互联网上找到的示例找出窍门 例如this http tutorials jenkov com java concurrency blocking queues html or t
  • 如何获取 WebElement 的父级[重复]

    这个问题在这里已经有答案了 我试过了 private WebElement getParent final WebElement webElement return webElement findElement By xpath 但我得到
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部

随机推荐

  • Linux 中以百分比形式准确计算 CPU 使用率?

    这是一个已经被问过很多次的问题 但是我找不到得到充分支持的答案 许多人建议使用 top 命令 但如果您运行 top 一次 因为您有一个脚本 例如每 1 秒收集一次 Cpu 使用情况 它将始终给出相同的 Cpu 使用结果 示例1 https
  • “COM”、“USB”、“串口”有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对这3个概念很困惑 我的理解是 Serial Port通常表示 RS 232 兼容端口 RS 推荐标准 USB代表Universal S
  • 如何使用 $.getJSON 从博主提要获取数据

    我想从博主提要中获取数据使用 getJSON 函数 我使用此代码来获取版本 但它不起作用
  • 从 Spark 保存分区 parquet HIVE 表时出现问题

    火花1 6 0 蜂巢1 1 0 cdh5 8 0 我在将数据帧从 Spark 保存到镶木地板支持的分区 Hive 表中时遇到一些问题 这是我的代码 val df sqlContext createDataFrame rowRDD schem
  • mysql/sqlserver 中截断与删除的比较[重复]

    这个问题在这里已经有答案了 关于 mysql sql 服务器的一件事一直困扰着我 即删除 截断 哪一个更好更快 在哪里使用删除 在哪里使用截断 DELETE DELETE 是一个 DML 命令 DELETE 语句使用行锁执行 表中的每一行都
  • Hive:如何显示表的所有分区?

    我有一个包含 1000 多个分区的表 Show partitions 命令仅列出少量分区 如何显示所有分区 Update 我发现 show partitions 命令仅列出 500 个分区 select where 仅处理 500 个分区
  • Numpy: arr[...,0,:] 有效。但是如何存储切片命令 (..., 0, :) 中包含的数据呢?

    在 Numpy 我想通常是 Python 中 如何存储切片索引 例如 0 以便传递它并将其应用于各种数组 比如说 如果能够在函数之间传递切片索引 那就太好了 Python 根据切片语法创建特殊对象 但仅在方括号内用于索引 您可以手动创建这些
  • 生成随机字符串

    好吧 我知道有很多这样的线程 但我对 vb net 很陌生 但我无法编辑给出的源代码来制作我真正想要的内容 所以我想要一个函数 它将生成随机字符串 每个字符串包含 15 32 个字符 每个字符串将具有以下字符 并非全部在同一字符串 但其中一
  • 如何使用clients2.google.com 下载CRX?

    上周我遇到了一些困难 我已经能够使用以下链接格式使用 Chrome 商店中列出的扩展名的 ID 下载 crx 文件 现在 最近几周发布到 chrome 商店的任何新 chrome 扩展程序都将无法使用 它不会下载任何东西 使用fiddler
  • 确保用户发布的博客评论安全

    我正在我的网站上创建博客引擎 没有什么花哨 用户将注册一些基本信息 包括评论本身 即该问题的问题 在评论字段中 用户可以编写一些文本 但目前没有什么可以阻止他在那里编写任何有害的内容 这会在使用评论渲染页面时弄乱页面 所以我想知道完成这三个
  • Mat-checkbox 已选中但不更改复选框状态

    我正在实现一个语言切换组件 它显示复选框 一个用于应用程序的每种语言 翻译为 ngx translate 单击其中一个复选框时 应用程序语言已正确切换 但单击的 mat checkbox 仍未选中 模板
  • 使用 as.Date 格式化月份缩写[重复]

    这个问题在这里已经有答案了 我正在处理每月数据 并有一个日期字符向量 格式如下 Sep 2012 Aug 2012 Jul 2012 等等 回到 1981 年 我尝试过使用 as Date dates b Y where b代表月份缩写 但
  • 使用集成 Windows 身份验证时提示输入登录详细信息

    对于 ASP NET 应用程序 使用集成 Windows 身份验证时如何提示用户输入用户名 密码 我想在页面后面的代码中使用 C 来执行此操作 我想要一些页面 例如http 内网 admin http intranet admin 提示输入
  • iPhone 的 PhoneGap 数据库应用有什么要求?

    我想创建一个访问数据库的简单应用程序 Does PhoneGap它的框架中有这个功能吗 它使用哪种数据库技术 MySQL 有数据库吗 为 iPhone 开发 PhoneGap 数据库应用程序有哪些要求 数据库 Sqlite 数据库 直接嵌入
  • 如何计算java中相同(PALINDROME)的单词数

    我是一名 Java 开发新手 我想用Java编写代码来计算段落中回文词的数量 假设是 用户可以输入包含尽可能多的句子的段落 每个单词之间以空格分隔 每个句子之间以句点分隔 单词前后的标点符号将被忽略 而单词内部的标点符号将被计算在内 输入示
  • Python:从类B中的类A调用方法A?

    有很多与此类似的问题 但没有一个答案能切中要害 所以请耐心等待 我正在尽最大努力使用 Python 学习 OOP 但我不断遇到错误 比如这个 这让我觉得这一切都是毫无意义的 只使用方法会更容易 这是我的代码 class TheGUI wx
  • 在数字海洋上部署的 laravel 网站显示空白屏幕并尝试通过 https 加载 css 和 js 文件

    我在这里完成了关于部署 laravel 应用程序的教程之一https www techalyst com posts laravel hosting with digital ocean droplet step by step tutor
  • 如何使用 guizero 在 python 中知道 Tic Tac Toe 中谁是获胜者

    我创建了一个名为 Tic Tac Toe 的游戏 有 2 位玩家 其中一位是 X 其中一位是 O 您所要做的就是将您的符号 3 连成一排 而其他人不会阻挡您 游戏的 GUI 如下所示 Code from guizero import App
  • 在 ubuntu 中使用 headless chrome 打印 PDF

    我正在尝试使用 chrome headless 和以下命令行在 ubuntu 中打印 pdf google chrome headless disable gpu print to pdf gen2 pdf file home user D
  • Java 异常从资源 .wav 读取流

    我想我的代码没问题 我的 jar 文件里面的 wav 没问题 但是当我尝试使用 getResourceAsStream 加载它时 出现错误 这是我的错误 java io IOException mark reset not supporte