📄 audiovideocapture.java
字号:
import javax.media.*;
import javax.media.format.*;
import java.util.*;
import java.awt.*;
public class AudioVideoCapture {
AudioFormat audioformat;
VideoFormat videoformat;
MediaLocator audiolocator,videolocator;
CaptureDeviceInfo audiodi,videodi;
public AudioVideoCapture() {
//确定音频格式
double ratesample=48000.0;
int bitspersample=16;
int channel=2;
String audio_format=AudioFormat.MPEG_RTP;
audioformat=new AudioFormat(audio_format,ratesample,bitspersample,channel);
//确定视频格式
Dimension size=new Dimension(250,140);
videoformat=new RGBFormat(size,size.width*size.height*3,Format.byteArray,
Format.NOT_SPECIFIED,24,3,2,1,3,size.width*3,RGBFormat.TRUE,Format.NOT_SPECIFIED);
//音频捕获
Vector audiodevicelist=CaptureDeviceManager.getDeviceList(new AudioFormat(AudioFormat.LINEAR));
if(audiodevicelist.size()>0){
audiodi=(CaptureDeviceInfo)audiodevicelist.firstElement();
audiolocator=audiodi.getLocator();
}
else{
System.err.println("找不到合适的音频捕获设备");
audiolocator=null;
}
//视频捕获
Vector videodevicelist=CaptureDeviceManager.getDeviceList(new VideoFormat(VideoFormat.RGB));
if(videodevicelist.size()>0){
videodi=(CaptureDeviceInfo)videodevicelist.firstElement();
videolocator=videodi.getLocator();
}
else{
System.err.println("找不到合适的视频捕获设备");
videolocator=null;
}
}
public static void main(String []args){
new AudioVideoCapture();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -