我试图打破我在网站上通过API获取的数组,Java已将其检索为String.
String[] ex = exampleString.split("},{");
Run Code Online (Sandbox Code Playgroud)
A PatternSyntaxException被抛出.出于某种原因,它真的不喜欢},{.我试图逃避它\{,但它说这是一个非法逃脱.
逃避这个字符串的正确方法是什么?
我有一个音乐课,我正在高中的入门课程中制作一个游戏.您可以看到我从中获取代码的源代码.
我最初使用的是a Clip,但发现它的缓冲区大小非常小,并且无法很好地播放长歌(至少在学校的Mac上没有).新代码效果很好,据我所知,它正在获取歌曲的"块",播放它们,然后获得更多的块.问题是,当音乐改变时,歌曲有时会重叠,当我退出游戏时,可能会因为在游戏结束前剪切数据流而导致可怕的声音(至少在Mac上).
除了每次延迟程序几秒钟之外,还有其他方法可以解决这个问题吗?(注意:我不想使用外部.jar或库,我想严格遵守JRE)
package mahaffeyfinalproject;
import java.io.File;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.SourceDataLine;
public class Music implements Runnable{
//SOURCE: http://www.ntu.edu.sg/home/ehchua/programming/java/J8c_PlayingSound.html
//Note: I've modified it slightly
private String location;
private boolean play;
public void Music(){
}
public void playMusic(String loc) {
location = loc;
play = true;
try{
Thread t = new Thread(this);
t.start();
}catch(Exception e){
System.err.println("Could not start music thread");
}
}
public void run(){
SourceDataLine soundLine = null;
int BUFFER_SIZE = …Run Code Online (Sandbox Code Playgroud)