2011-02-25 5 views
3

멀티미디어 work.i에 초보자 오전 샘플로 오디오를 캡처하고 network.how를 통해 다른 ios 장치로 전송하여 내 작업을 시작 하시겠습니까 ??? .i 사과 멀티 미디어 가이드와 speakhere 예제를 통해 방금 들었지만, C++ 코드로 가득 차서 파일을 작성하고 서비스를 시작하지만 버퍼가 필요합니다 ... 올바른 방식으로 제 작업을 시작하도록 도와주세요. 사전iOS에서 실시간 오디오 입출력 스트리밍

답변

9

에서

덕분에 난 그냥 당신이 AudioQueue를 사용할 수있는 실시간 오디오 물건에 작업 시간의 무리를 소비하지만 100-200ms 주변의 대기 시간 문제가 있습니다. 당신이 t-통증 응용 프로그램처럼 뭔가를하려는 경우

, 당신은 사용할 필요가

  • RemoteIO API
  • 오디오 장치 API

그들은 구현 똑같이 어려운, 그래서 원격 IO 경로 만 선택하면됩니다.

소스는 여기에서 찾을 수 있습니다 :

http://atastypixel.com/blog/using-remoteio-audio-unit/

+0

감사합니다. 정보를 확인해 주시고 어떤 질문이 있으면 다시 확인하십시오. –

+0

@ madmik3 : AudioQueue를 녹음하고 재생할 수 있습니까 ?? –

+0

할 수는 있지만 위에서 설명한 것과 같은 지연 문제가 있으며 제공되는 링크 에서처럼 RemoteIO Audio Unit API를 사용할 수도 있습니다. 그것들은 iOS에서 녹음과 재생을하는 두 개의 서로 다른 API입니다. – madmik3

0

나는 위의 대답을 upvoted했다,하지만 난 알아낼 걸 렸어요 정보의 조각을 추가하고 싶었다. 녹음을 위해 AudioQueue를 사용할 때 직관적 인 개념은 콜백이 샘플 수가 나타내는 모든 일정한 간격으로 수행된다는 것입니다. 그 개념은 부정확합니다. AudioQueue는 오랜 기간 동안 샘플을 수집 한 다음 콜백의 매우 빠른 반복으로 전달합니다.

필자의 경우 20ms 샘플을 처리하고 콜백 당 320 개의 샘플을 받았습니다. 통화의 타임 스탬프를 출력 할 때, 나는 2ms마다 1 번 통화 한 다음 ~ 180ms 동안 한 번 통화했다. VoIP를하고 있었기 때문에 수신 측에서 지연이 증가하는 현상이 나타났습니다. 원격 I/O로 전환하면 문제가 해결 된 것으로 보입니다.