繁体   English   中英

Java 中的音频多线程

[英]Multi Threading in Java for Audio

我终于想出了如何用 java 播放音频,并享受其中的含义; 然而,当我想创建一个音乐选择程序,一个包含功能按钮的程序时,我意识到我播放音频的方法会与程序的其余部分发生冲突。 播放音频时,我需要使用 Thread.sleep,它的长度与音频文件的长度相同,但这会阻止我暂停、选择不同的歌曲等。我还没有完全完成程序的主要部分,因为我今天才开始。 我搜索了一些关于多线程和在 Java 中播放音频的不同网站,但没有一个给我一个解决这个问题的好方法。 我想知道是否可以创建一个新线程,然后在原始线程的同时在其上运行音频,以及如何从另一个线程访问一个线程。 谢谢

PS,如果需要澄清和图片,请根据需要发送它们,这会令人困惑

Thread.sleep仅在需要在播放音频时防止程序退出的情况下与音频一起使用。 如果您的程序正在运行,在此期间执行其他操作,则不需要 sleep 命令。

当您播放ClipSourceDataLine ,被调用的音频渲染在其自己的线程上运行,但该线程是一个daemon线程。 与常规线程不同,守护线程不会让正在运行的 Java 程序保持打开状态。

我还没有看到您的其余代码,但是向自己演示这一点的一个好方法是创建一个带有按钮的简单表单。 让按钮启动声音,不要包含任何睡眠命令。 只要带有按钮的表单向上显示并且可见,声音就应该播放完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM