向后播放WAV文件
YEEEEEEESSSSS !!!!!!!!
我解决了这个问题由我自己(14岁!)
我写这个类:
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
/**
*
* @author Martijn
*/
public class FrameBuffer {
private byte[][] frames;
private int frameSize;
public FrameBuffer(AudioInputStream stream) throws IOException {
readFrames(stream);
}
public byte[] getFrame(int i) {
return frames[i];
}
public int numberFrames()
{
return frames.length;
}
public int frameSize()
{
return frameSize;
}
private void readFrames(AudioInputStream stream) throws IOException {
frameSize = stream.getFormat().getFrameSize();
frames = new byte[stream.available()/frameSize][frameSize];
int i = 0;
for (; i < frames.length; i++)
{
byte[] frame = new byte[frameSize];
int numBytes = stream.read(frame, 0, frameSize);
if (numBytes == -1)
{
break;
}
frames[i] = frame;
}
System.out.println("FrameSize = " + frameSize);
System.out.println("Number frames = " + frames.length);
System.out.println("Number frames read = " + i);
}
}
然后:因为我爱编织
FrameBuffer frameStream = new FrameBuffer(austream); //austream is the audiostream
int frame = frameStream.numberFrames() - 1;
while (frame >= 0) {
auline.write(frameStream.getFrame(frame), 0, frameStream.frameSize());
frame--;
}
@Martijn Courteaux伟大:) – ant 2010-04-20 13:47:37
@Martijn你能告诉什么是在这一行的auline ...“auline.write(frameStream.getFrame(frame),0,frameStream.frameSize ());” – Waqas 2012-06-28 04:40:30
这是声卡的音频声道。它是一个'SourceDataLine'实例。看看这个例子:http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml – 2012-06-28 15:21:52
使用Windows录音机(在开始 - >程序 - >附件 - >娱乐)。
它有一个功能(效果(菜单) - >反转)来反转.WAV文件。您可以使用不同的名称保存反转的文件,然后在程序中打开相应的文件。
他们对许多声音文件(+50)进行全部撤消。我认为allready它,但... – 2009-08-12 17:24:31
+1 :-) – ChssPly76 2009-08-12 17:30:18
+1对于您丢失的代表点:-) – 2009-09-12 20:51:38
谢谢。这个赏金是一个错误 – 2009-09-12 20:58:05