有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

音频如何在java中无延迟地播放声音和音乐

我写的这个音频类是由我的soundplayer类使用的,它工作正常,没有错误,但当声音连续快速使用(即快速跳跃)时,会导致我的游戏打嗝或颠簸。我想,通过加载一次并每次倒带(使用标记和重置方法),声音将保留在RAM中,但它似乎没有这样做。我愿意接受任何修改或完全重写。我只需要它来工作我已经被困在音频上好几个月了

package com.bigdirty1985.squaresthatmove.sound;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import sun.audio.AudioPlayer;
import sun.audio.AudioStream;

public class Sound {

@SuppressWarnings("restriction")
private AudioStream audioStream;
private File file;

@SuppressWarnings("restriction")
public Sound(File file) {
    this.file = file;

    try {
        this.audioStream = new AudioStream(new FileInputStream(this.file));
        this.audioStream.mark(100000000);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

@SuppressWarnings("restriction")
public void play() {


    AudioPlayer.player.stop(this.audioStream);



    AudioPlayer.player.start(this.audioStream);


    try {
        this.audioStream.reset();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

@SuppressWarnings("restriction")
public void stop() {
    AudioPlayer.player.stop(this.audioStream);
}

}


共 (0) 个答案