最近公司要求用java做个视频播放与声音控制功能, 视频是从服务器取得(服务器是用c++开发的)这里涉及到socket编程就不说了(不属于本章谈论范围),和多线程技术。刚开始在google搜的时候,这方便不多,就java 声音播放,和java 声音处理,对于视频声音的大小控制却不多。再这里简单写下相关代码。
写道
AudioFormat linearFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,48000,16,2,4,48000,false);
DataLine.Info info = new DataLine.Info(SourceDataLine.class, linearFormat);
// 指定されたデータライン情報に一致するラインを取得します
line = (SourceDataLine)AudioSystem.getLine(info);
// 指定されたオーディオ形式でラインを開きます
line.open(linearFormat);
//这里用的MASTER_GAIN,当然你也可以用VOLUME根据设备支持而来,一般用//MASTER_GAIN经过多次调试得出结果VOLUME某些设备部支持
FloatControl control = (FloatControl)line.getControl(FloatControl.Type.MASTER_GAIN);
// ラインでのデータ入出力を可能にします
line.start();
DataLine.Info info = new DataLine.Info(SourceDataLine.class, linearFormat);
// 指定されたデータライン情報に一致するラインを取得します
line = (SourceDataLine)AudioSystem.getLine(info);
// 指定されたオーディオ形式でラインを開きます
line.open(linearFormat);
//这里用的MASTER_GAIN,当然你也可以用VOLUME根据设备支持而来,一般用//MASTER_GAIN经过多次调试得出结果VOLUME某些设备部支持
FloatControl control = (FloatControl)line.getControl(FloatControl.Type.MASTER_GAIN);
// ラインでのデータ入出力を可能にします
line.start();
对于声音的大小我们可以通过 control.getMaximum(); control.getMinimum() 这样就可以去我们的滑动条进行关联了,最后通过setValue(),和getValue()进行对声音值的设定。
如果有什么不对请批评指教,
我的msn:flyingandrunning@hotmail.com