2010-06-13 2 views
0

JMF에서 마이크 볼륨 컨트롤러를 얻는 방법은 무엇입니까? 내가 어떻게 JMF 마이크 볼륨 컨트롤러

내가 당신의이 구현 개념을했지만, 내가 스트림을 얻을 때 나는 첫 번째 볼륨 프로세서에서 널을 받고 계속 여기에 있습니다 : :

내가 가진 무엇

volumeProcessorState : - com.sun.media.ProcessEngine 구성된 제어를 추적하도록 설정 포맷

// the device is the media device specifically audio 
Processor processorForVolume = Manager.createProcessor(device.getLocator()); 

// wait until configured 
ProcessorStates newState = new ProcessorStateListener(Processor.Configured).waitForProcessorState(processorForVolume); 
System.out.println("volumeProcessorState: "+newState); 

// setting the content descriptor to null - read in another thread this allows to get the gain control 
processorForVolume.setContentDescriptor(null); 

// set the track control format to one supported by the device and the track control. 
// I didn't match it to an RTP allowed format, but I don't think this has anything to do with it... 
TrackControl[] trackControls = processorForVolume.getTrackControls(); 
if (trackControls.length == 0) 
    throw new MC_Exception("No track controls where found for this device:", new Object[]{device}); 
for (TrackControl control : trackControls) 
    trackManipulator.manipulateTrackControls(control); 

// wait until the processor is realized 
newState = new ProcessorStateListener(Controller.Realized).waitForProcessorState(processorForVolume); 
System.out.println("volumeProcessorState: "+newState); 

// receives the gain control 
micVolumeController = processorForVolume.getGainControl(); 

// cannot get the output stream to process further... any suggestions? 
processor = Manager.createProcessor(processorForVolume.getDataOutput()); 
new ProcessorStateListener(Processor.Configured).waitForProcessorState(processor); 
processor.setContentDescriptor(DeviceCapturingManager.RAW_RTP); 
new ProcessorStateListener(Controller.Realized).waitForProcessorState(processor); 

이 그것은 생성 출력 $ ProcTControl는 1627c16 @ : LINEAR , volumeProcessorState 체결 48000.0 ㎐, 16 비트, 스테레오 littleEndian의 :

실현되고, 상기 프로세서로부터 출력되는 데이터 널 (NULL).

콘텐츠 설명자가! = null 인 경우 출력 스트림은 있지만 볼륨 컨트롤러는없고 컨트롤러가 null이지만 스트림은 수신하지 않음을 분명히해야합니다.

오디오 마이크 장치에 연결하려고 시도했습니다.

Adam.

답변

0

마이크에 볼륨 구성 요소가 없습니다! 자신을 구현해야합니다.