Processing 如何在处理过程中使用声音库播放声音?

Processing 如何在处理过程中使用声音库播放声音?,processing,Processing,我想在我的项目中播放一些音乐。我遵循了一个教程,其中使用了以下代码,但当我尝试它时,会收到一条错误消息,上面说: “2020年1月6日9:38:55 PM com.jsyn.devices.javasound.JavaSoundAudioDevice 信息:JSyn:Windows 10的默认输出延迟设置为80毫秒” 我希望播放这首歌,因为控制台消息只是一条信息日志消息(优先级不如警告或错误) 还有一个draw()循环会有什么不同吗 import processing.sound.*; Sou

我想在我的项目中播放一些音乐。我遵循了一个教程,其中使用了以下代码,但当我尝试它时,会收到一条错误消息,上面说: “2020年1月6日9:38:55 PM com.jsyn.devices.javasound.JavaSoundAudioDevice 信息:JSyn:Windows 10的默认输出延迟设置为80毫秒”


我希望播放这首歌,因为控制台消息只是一条
信息
日志消息(优先级不如
警告
错误

还有一个
draw()
循环会有什么不同吗

import processing.sound.*;
SoundFile song;

void setup() {

   size(1300, 500);
   song = new SoundFile(this, "song.mp3");
   song.play();
}
void draw(){
   background(0);
   text("song.isPlaying() = " + song.isPlaying(), 10, 15);
}
可能是mp3具有处理声音库无法解码的编码属性(位深度、采样率等)。 值得尝试将mp3文件导出为WAV文件(无符号16位44100 Hz)。
(您可以使用开源工具(例如)来完成此操作)

Update:好的,我发现它确实可以播放,但是,在开始时有很长的延迟,并且不像教程中那样是即时的。而且,音高很低,你可以在你真正需要它之前加载声音,就像在大多数专业游戏中一样。嗯,在这种情况下,它不会改变任何东西,因为你几乎只加载一个声音,但是如果你每次角色做某事时都有一个“嘟嘟”声,那么你只需要加载一次,每次嘟嘟都使用相同的声音。我怎么做?在某种程度上,你就是这么做的。
song=新的声音文件(这是“song.mp3”)行将声音加载到内存中。它位于
设置
方法中,因为此方法自动运行一次。这是一个很好的地方来装载东西,准备你以后想准备的东西。因为
song
是一个全局变量,所以只要程序运行,它就会留在内存中,并且您可以从任何方法调用它。因此,您只需在
设置
中加载一次,以后您就可以播放任意次数,而无需再次加载。
import processing.sound.*;
SoundFile song;

void setup() {

   size(1300, 500);
   song = new SoundFile(this, "song.mp3");
   song.play();
}
void draw(){
   background(0);
   text("song.isPlaying() = " + song.isPlaying(), 10, 15);
}