我正在做一个项目,我将有一个 24 小时长的声音片段,它根据当地白天有不同的阶段(早上阶段有一个声音,过渡阶段,晚上阶段等)
所以这就是我现在得到的,没关系
播放剪辑的方法(以微秒为单位转动当前本地时间并设置起点以匹配当前时间 - 如果我开始程序 13:35,它将开始播放该位置的声音的中午阶段,没关系
void playMusic(String musicLocation){
try{
File musicPath = new File(musicLocation);
if(musicPath.exists())
{
Calendar calendar = Calendar.getInstance();
//Returns current time in millis
long timeMilli2 = calendar.getTimeInMillis();
System.out.println("Time in milliseconds using Calendar: " + (timeMilli2 * 1000)) ;
AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicPath);
Clip clip = AudioSystem.getClip();
clip.open(audioInput);
clip.setMicrosecondPosition(12345678);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
System.out.println(clip.getMicrosecondLength());
//setFramePosition
JOptionPane.showMessageDialog(null, "Press OK to stop playung");
}
else
{
System.out.println("no file");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
仅调用此方法的 main 方法
public static void main(String[] args) {
String filepath = "src/sounds/test_file.wav";
PyramidMethods pyra = new PyramidMethods();
pyra.playMusic(filepath);
}
现在这非常简单明了,也是我所需要的,但现在我想知道的是以下内容->我是否可以,如果可以,如何根据外面的温度添加声音效果?
所以我在想的是在main中打开单独的线程,它会定期检查一些wheather API,当温度变化时,会根据温度变化添加声音效果,如回声、失真或其他东西(如果它更冷,那么x它会将回声效果放在运行剪辑等)
这在Java中甚至可能吗?这是我第一次在 Java 中使用声音,所以我什至对这里的搜索词没有经验,有人会建议其他一些编程语言吗?
提前感谢您的回答。