?? micojmf.java
字號:
import javax.media.*;
import javax.media.bean.playerbean.MediaPlayer;
import javax.media.format.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import java.io.*;
import java.util.*;
public class Micojmf implements ControllerListener {
BufferedInputStream playbackInputStream;
Vector deviceList = new Vector();//聲明一個向量
AudioFormat audio = new AudioFormat(AudioFormat.LINEAR);//設定為LINEAR壓縮格式
Format audioFormat = (Format) audio;//音頻格式
MediaPlayer player = null;
MediaLocator locator = null;//describes the location of media content
CaptureDeviceInfo captureInfo;
public Micojmf() {
deviceList = CaptureDeviceManager.getDeviceList(audioFormat);//獲得特定Format的驅動列表
if(deviceList == null || deviceList.size() < 1 ) {
System.out.println("未捕獲到音頻設備,請檢查設備是否正確連接"); }
captureInfo = (CaptureDeviceInfo) deviceList.get(0);//捕獲驅動信息
locator = captureInfo.getLocator();//獲得驅動的位置
}
public void play() {
player = new MediaPlayer();
player.setMediaLocator(locator);
player.addControllerListener(this);
player.realize();//The realize method puts the Controller into
//the Realizing state and returns immediately
}
public void controllerUpdate(ControllerEvent e) {
if (e instanceof RealizeCompleteEvent)//響應realizeCompleteEvent事件
player.prefetch();//處理DATA減少start()的反應時間
if (e instanceof PrefetchCompleteEvent)
player.start();//啟動player對象
if(e instanceof ControllerClosedEvent) {
player.stop();
player.close();
}
}
public static void main(String[] args) {
//CaptureAudio audio = new CaptureAudio();
Micojmf audios=new Micojmf();
audios.play();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -