各位, 我希望自己建立一个数组, 存放自己的PCM声音样本, 然后播放, 我不希望通过转换成任何wav, au等文件, 我的代码如下, 但失败了:
import sun.audio.*;byte Buffer[]=new byte[1024];
ByteArrayInputStream in=new ByteArrayInputStream(Buffer);
AudioStream as=null;
try{
as=new AudioStream(in);
}catch(Exception e)
{
System.out.println(e.toString());
}
AudioPlayer.player.start(as);出错信息为:
java.io.IOException: could not create audio stream from input stream
同志们有办法吗? java就不能直接将PCM样本送到声音设备吗?
import sun.audio.*;byte Buffer[]=new byte[1024];
ByteArrayInputStream in=new ByteArrayInputStream(Buffer);
AudioStream as=null;
try{
as=new AudioStream(in);
}catch(Exception e)
{
System.out.println(e.toString());
}
AudioPlayer.player.start(as);出错信息为:
java.io.IOException: could not create audio stream from input stream
同志们有办法吗? java就不能直接将PCM样本送到声音设备吗?
http://www.blogjava.net/shinzey/articles/163573.html
url0= getClass().getClassLoader().getResource("1.mid");
url1= getClass().getClassLoader().getResource("2.mid");
url2= getClass().getClassLoader().getResource("3.mid");
url3 = getClass().getClassLoader().getResource("4.wav");
private Sequencer sequencer;
private Sequence sequence;
try{
System.setProperty ("javax.sound.midi.Sequencer","com.sun.media.sound.RealTimeSequencerProvider");
sequencer= MidiSystem.getSequencer();
sequencer.open();
sequence= MidiSystem.getSequence(url0);
sequencer.setSequence(sequence);
sequencer.start(); //播放
}catch(Exception e){
e.printStackTrace();
}
播放wav:
private AudioClip clip;
clip = Applet.newAudioClip(url3);
clip.play();
最好是下载JMF,java媒体框架