0
나가는 오디오를 게임에서 캡처하여 오디오 파일에 기록하고 싶습니다. 이것이 OpenSL의 프레임 워크 내에서 가능합니까? OutputMix를 AudioRecorder에 연결하는 것과 비슷합니까?OpenSL 레코드 자체를 사용할 수 있습니까?
고맙습니다.
나가는 오디오를 게임에서 캡처하여 오디오 파일에 기록하고 싶습니다. 이것이 OpenSL의 프레임 워크 내에서 가능합니까? OutputMix를 AudioRecorder에 연결하는 것과 비슷합니까?OpenSL 레코드 자체를 사용할 수 있습니까?
고맙습니다.
큐에 콜백을 등록하고 출력 버퍼 큐에 큐에 넣기 전후에 출력 버퍼를 얻을 수 있습니다. 새로운 버퍼를 큐에 넣을 때마다 wavBuffer (버퍼 크기의 짧은 배열)를 쓸 수 있습니다. 이 버퍼의 내용은 파일에 기록됩니다.
outBuffer = p->outputBuffer[p->currentOutputBuffer]; // obtain float buffer
for (int i = 0; i < bufferSize; ++i)
wavBuffer = (short) outBuffer[ i ] * 32768; // convert float to short
// now append contents of wavBuffer into a file
큐 콜백의 기본 OpenSL 설정이 몇 가지 세부 on this page
그리고 C++에서 WAV 파일을 만드는 아주 기본적인 수단 설명은 꽤 명확한 생각을 가지고 있어야합니다 here 메모를 찾을 수 있습니다 전체 WAV 파일의 실제 크기를 헤더의 일부로 나타냅니다.