1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Atitit java播放 wav MIXER 混响器编程 目录 1.1. MIXER 混响器编程 1 1

Atitit java播放 wav MIXER 混响器编程 目录 1.1. MIXER 混响器编程 1 1

时间:2022-02-21 12:25:00

相关推荐

Atitit java播放 wav  MIXER 混响器编程  目录 1.1. MIXER 混响器编程	1 1

Atitit java播放 wav MIXER 混响器编程

目录

1.1. MIXER 混响器编程 1

1.2. 得到系统中一共有多少个混音器设备: 1

1.3. 接口摘要 1

1.4. 调节音量 2

1.5. Code /bookmarksHtmlEverythingIndexPrj/src/apkg/soundPlay.java 3

MIXER 混响器编程

10月14日 17:17:24fakine阅读数:3632

版权声明:本文为博主原创文章,未经博主允许。 /fakine/article/details/12711779

得到系统中一共有多少个混音器设备:

(在一般的系统中只有一块声卡,所以返回的值应该为1;我的系统中装有一块PIC创新声卡,一块主板载C-media声卡,还安装了Totalrecorder软件,所以返回值是3)

int devnum=::mixerGetNumDevs();

调节音量sline.open();FloatControlvolctrl=(FloatControl)sline.getControl(FloatControl.Type.MASTER_GAIN);volctrl.setValue(newVal);//newVal-thevalueofvolumeslider

也就是说,必须开始播放,得到了播放的DataLine以后才可以得到Control信息.

我这么做了,的到

Master Gain with current value: 0.0 dB (range: -80.0 - 6.0206)

不太懂dB是怎么算的,反正默认值为0,也就是说,向正(增大音量)只能移动6个单位.对于一个JSlider来说,实在太小距离了.

混音与Java(不带混合机

Code /bookmarksHtmlEverythingIndexPrj/src/apkg/soundPlay.java

privatestaticvoidplaywav(String file)throwsException {

AudioInputStream audioInputStream= AudioSystem.getAudioInputStream(newFile(file));

AudioFormat audioFormat= audioInputStream.getFormat();

DataLine.Info info=newDataLine.Info(SourceDataLine.class, audioFormat);

SourceDataLine sourceDataLine= (SourceDataLine) AudioSystem

.getLine(info);

//AudioFormat audioFormat2= new AudioFormat( 70000, 16, 2, true, false);

sourceDataLine.open(audioFormat); //thisaudioformatcan overwrite last DataLine.Info.audioFormat

sourceDataLine.start();

intcnt;

// 读取数据到缓存数据

byte[] tempBuffer=newbyte[10000] ;

while((cnt= audioInputStream.read(tempBuffer, 0, tempBuffer.length)) != -1) {

if(cnt> 0) {

// 播放缓存数据

sourceDataLine.write(tempBuffer, 0, cnt);

}

}

// Block等待临时数据被输出为空

sourceDataLine.drain();

sourceDataLine.close();

}

API) - IT屋-程序员软件开发技术分享社区.html

Atitit java播放 wav MIXER 混响器编程 目录 1.1. MIXER 混响器编程1 1.2. 得到系统中一共有多少个混音器设备:1 1.3. 接口摘要1 1.4. 调节音量

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。