- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个通过多线程在后台播放音乐的程序,因为否则 GUI 会卡住。我有多线程的基本知识( volatile 、同步等),但我想知道如何立即停止/暂停线程(即使进程正在处理)。我有音乐在后台循环播放,但如果我将停止变量挂接到循环上,则歌曲必须停止播放才能停止。所以我的问题仍然存在,从父线程有什么方法可以立即暂停或终止歌曲中间的音乐,因为我在它之后要播放音频。
最佳答案
首先,线程中的大多数循环应类似于以下内容:
while(!isInterrupted()) {
try {
// do something (like play song)
} catch (InterruptedException e) {
interrupt();
}
}
如果循环内存在阻塞调用(从您的描述来看这似乎是这样),它们可能允许interrupt()。从线程外部调用 Interrupt() 将打破阻塞调用并将您转储到 catch block 中。这最终会清除“中断”标志,因此您需要再次调用中断才能跳出循环。
取决于您播放音乐的方式:
请注意,如果您想重新启动上述循环,则需要一个嵌套循环,例如:
while(true) {
while(!isInterrupted()) {
...
}
}
如果只有 !isInterrupted() 循环,线程将完成,并且无法重新启动。
希望这有帮助!
关于java - 在 JFugue 中暂停音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984039/
我正在尝试转置音符,但它返回的结果不是应有的结果。您能检查一下我的代码并告诉我哪里错了吗? public int changeTone(String chord) { int
我正在运行 Jfugue 测试程序,这里是代码: package ge; import org.jfugue.*; public class GE { /** * @param ar
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 4 年前。 Improve t
假设我有一个玩家当前正在播放一个模式,并且在某个时刻我想设置它应该播放的下一个模式,而在两者之间切换时不会产生小暂停。 它类似于 Android 的媒体播放器类,您可以有 2 个媒体播放器,每个媒体播
我正在尝试控制模式的音量。从文档中我发现了这一点: X[Volume]=10200; 他们提到的控制音量。我不确定如何使用它。我应该声明一些东西来使用它吗?据我了解,这是一个“ Controller
我已经在我的项目中实现了 Ksoji 的“jfugue-android”库 (https://github.com/kshoji/JFugue-for-Android/tree/master/jfug
我正在尝试使用 jfugue 连续演奏大约 200 个音调。音符都在演奏,但很断断续续。是否可以让音符以平滑的方式演奏,就像乐器将两个音符连声演奏一样? 最佳答案 如果您的音高跨越多个 Octave
我正在开发一个通过多线程在后台播放音乐的程序,因为否则 GUI 会卡住。我有多线程的基本知识( volatile 、同步等),但我想知道如何立即停止/暂停线程(即使进程正在处理)。我有音乐在后台循环播
我正在用 JFugue 5.0 做一个项目,我试过 4.0,但 5.0 似乎比他 previous sibling 更流畅。不管怎样,我有 JFugue v4 的完整指南,这些是用来引用 differ
在下面给定的代码中,频率 240 和 254.1764 相距很远,但听起来都是 240。288 和 301.395 也是如此,最后两个 432 和 552.09 也有同样的问题。我需要帮助来确定问题出
使用 JFugue 5.0,如何像吉他专业版中那样创建弯音和滑音? 我尝试过使用 CC65,但它似乎不适用于吉他音色。我查看了文档,但没有明确说明这是如何完成的。我可以使用微音调记谱法,但我知道有更好
我在使用 JFugue 5.0.7 时遇到了问题:我正在编写一个可以无限期播放音乐的实时应用程序,但 jfugue 库提供的 RealtimePlayer 会相互混合乐器。 我有以下代码 public
我正在尝试在我的 Java 项目中使用 JFugue 5.0.9 来创建 *.midi 文件。在我的项目中实现 JFugue 的 midi 功能时,该项目使用 24 tune makam piano
我喜欢 jFugue,但我无法控制模式的音量。这两种模式在我的笔记本电脑中以相同的音量播放(在纸上,第二个应该比第一个大两倍): Pattern pattern1 = new Patt
This pdf说倒转和弦可以通过在和弦定义的末尾添加 ^ 来定义,但据我所知,这只适用于明确的和弦定义。 例如: ChordProgression cp = new ChordProgression
我是 JFugue 的新手,我一直在尝试一些东西,但我无法更改 MusicString 的调。这是我尝试的方法: Player player = new Player(); player.play("
在 JFugue (vr 5.0.9) 中获得两个音符之间的半音的最快方法是什么(如果有)? 例如,我如何获得F4和G5之间的半音数? 最佳答案 我认为 Note 上的 getValue() 方法将为
我使用以下代码通过 JFugue 加载和播放 MIDI 文件: import java.io.File; import org.jfugue.Pattern; import org.jfugue.Pl
当我只运行 java 文件时,它会产生声音。我现在想要单击按钮来调用 java 文件并在 eclipse 中产生声音。 这是我的 Java 代码: import org.jfugue.player.P
我想将 midi 文件转换为 .csv 格式,如下所示: 音符名称、startTick、持续时间、力度 还包括整个和弦(从同一刻度开始的音符组)。 现在,JFugue 有一个 MidiParser 类
我是一名优秀的程序员,十分优秀!