gpt4 book ai didi

java - 是否可以使用整型变量/整型数组变量作为jFugue中的注释

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:39 25 4
gpt4 key购买 nike

我正在尝试使用 jFugue 在 netBeans 中创建算法音乐,并拥有一个整数数组,其中包含 c 大调音阶一个 Octave 的音符:

String scaleNotesC[] = {"[60]", "[62]", "[64]", "[65]", "[67]", "[69]", "[71]", "[72]"};  

当我运行下面的代码尝试让它播放 C 时,没有任何反应。

Player playerOne = new Player();  
playerOne.play("scaleNotesC[0]");

我尝试过使用整数数组,但也不起作用。
有没有办法让 jFugue 播放数组中一组随机音符?
编辑:
我将上面的播放器代码更改为此,以尝试播放数组中的多个音符,但它不起作用

playerOne.play(scaleNotesC[2] scaleNotesC[3] scaleNotesC[2]);

最佳答案

在第一个示例中,

playerOne.play("scaleNotesC[0]");

您正在尝试将 Java 表达式作为字符串传递。但是,字符串本身不会被视为 Java 表达式。相反,JFugue 尝试将“scaleNotesC[0]”本身解析为音乐字符串,但事实并非如此,因此您听不到音乐。如果删除引号,Java 会将scaleNotesC[0] 计算为“[60]”,并且 JFugue 将成功将“[60]”解析为 Middle-C 并播放它。

您当前使用的 JFugue 版本没有将字符串列表作为参数的 play() 方法(即将发布的版本将具有此功能)。我可以建议:

Pattern pattern = new Pattern();
pattern.add(scaleNotesC[2], scaleNotesC[3], scaleNotesC[2]);
Player playerOne = new Player();
playerOne.play(pattern);

关于java - 是否可以使用整型变量/整型数组变量作为jFugue中的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27740898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com