首页 / JAVA / java sequencer播放列表
java sequencer播放列表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java sequencer播放列表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1218字,纯文字阅读大概需要2分钟。
内容图文
![java sequencer播放列表](/upload/InfoBanner/zyjiaocheng/769/deb7d09d7aae476a93424b21cc1917e2.jpg)
我目前有一个非常简单的课程:
public class Music {
private Sequence sequence;
private Sequencer sequencer;
public Music(String music) {
try {
this.sequence = MidiSystem.getSequence(ResourceManager.getMusic(music + ".mid"));
this.sequencer = MidiSystem.getSequencer();
this.sequencer.open();
this.sequencer.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
this.sequencer.setSequence(sequence);
} catch (Exception e) { System.out.println("Oops - something went wrong."); }
}
public void play() {
this.sequencer.start();
}
public void stop() {
this.sequencer.stop();
}
}
我所要做的就是创建这个类的对象并使用play() – 方法来启动音乐.但是,我不想只播放一个MIDI文件:一旦歌曲结束,我想开始下一个.
所以我想创建一个播放列表,如:
sequence.add("midifile1.mid");
sequence.add("midifile2.mid");
但是,我没有在API文档中找到这样的选项(有一个createTrack() – 选项,但我真的不明白如何使用它来添加更多音乐).我可以从这个类创建多个对象,但是我仍然不知道一个文件何时结束而下一个文件应该开始.
看一下在线示例,它只会让人感到困惑.最好的方法是什么?
谢谢
解决方法:
我已设法使用MetaEventListener来解决它,以检测序列何时完成:
this.sequencer.addMetaEventListener(new MetaEventListener() {
public void meta(MetaMessage event) {
if (event.getType() == 47) {
// start new sequence
}
}
});;
内容总结
以上是互联网集市为您收集整理的java sequencer播放列表全部内容,希望文章能够帮你解决java sequencer播放列表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。