2012-09-19 5 views
1

오디오 트랙 및 오디오 레코더 개체를 만들고 스피커로 다시 마이크 소리를 가져 오려고했습니다.Android AudioTrack 및 AudioRecord 이상한 동작

이렇게하려면 오디오 레코드 작업에서 오디오 데이터를 읽고 "다시 쓰는"작업을 오디오 트랙에 작성한 작업을 만들었습니다. 잘 작동하는 것 같습니다. 그러나 일부 데이터 조작을 시도하는이 응용 프로그램을 가지고 노는 나는 오디오 트랙 데이터를 복사 및 쓰기가 돌아이 작업은 실질적이고 아무것도하지 않는 것을 배웠다 - 나는 그것을 삭제하고 두 라인 만 체재 :

audioRecord.startRecording(); 
    audioTrack.play(); 

없음 읽기 또는 쓰기 - 응용 프로그램 을 계속 작업 - 즉, 마이크 데이터가 스피커에 울려 퍼집니다! 실제로 실제로 수행하려고 시도했던 모든 읽기 및 쓰기 작업은 무시되는 것 같습니다!

일부 다른 예기치 않은 동작이

:

나는이 과정이 AudioTrack.stop() 또는 AudioTrack.pause()를 호출 구매 막으려 - 아무 일도 발생하지 않습니다는 오디오를 막을 수있는 유일한 방법은 그러나 AudioRecord를 허리를 구부리 후 나는 방법을 찾을 수 AudioRecord.stop()를 호출했다 다시 시작하십시오.

이 경험이있는 사람이 있습니까? 누구든지 해결책이 있습니까? 누구나 Android AudioTrackAudioRecord의 이상한 동작을 설명 할 수 있습니까? 중지 할 때

답변

2

이 3 선 당신을 위해 작동해야 audioTrack

audioTrack.flush(); 
audioTrack.stop(); 
audioTrack.release(); 
+0

직접 연결이 내부적으로 어떤 방법없이 마이크와 스피커 사이에이 이상한 문서화되지 않은 행동이 그것을 제어 할 왜 내 주요 문제는 . –