오디오 녹음 시작하기
이 문서에서는 오디오 녹음을 시작하는 방법에 대해 설명합니다. 녹음은 특정 녹음 소스에서 시작하며, 이 소스의 갯수는 audio_get_recorder_count() 함수를 통해 확인할 수 있습니다. 녹음이 시작되면 오디오는 임시 버퍼에 저장되며, 녹음이 진행되는 동안 Audio Recording Asynchronous Event가 발생합니다.
주요 내용
- 이벤트 트리거: 녹음이 진행되는 각 단계마다 발생합니다.
- 변수
async_load: 다음 키/값 쌍이 포함된 DS 맵을 생성합니다. "buffer_id": 오디오 데이터를 가져오는 데 사용할 수 있는 임시 버퍼의 ID"channel_index": 이 데이터가 왔던 녹음 채널의 인덱스"data_len": 수신한 데이터의 길이(바이트 단위)
주의: 비동기 이벤트가 트리거된 후, 임시 버퍼의 오디오는 삭제되므로 미리 생성한 커스텀 버퍼로 데이터를 복사해야 합니다.
사용법
음성 녹음 기능을 사용하기 전에, audio_get_recorder_count() 함수가 0보다 큰 값을 반환하여 녹음 장치가 사용 가능한지 항상 확인해야 합니다.
구문
audio_start_recording(recorder_index);
인수
| 인수 | 유형 | 설명 |
|---|---|---|
| recorder_index | Real | 사용할 녹음 소스의 인덱스 |
반환 값
- 버퍼 ID: 녹음이 시작되면 반환됩니다.
예제
audio_record = audio_start_recording(0);
위 코드는 녹음 소스 0에서 녹음을 시작하며, 그 결과로 생성된 녹음 채널 인덱스를 변수 audio_record에 저장합니다. 이 변수는 비동기 Audio Recording 이벤트에서 사용됩니다.
응용 예제
녹음 중 데이터 처리
녹음이 완료된 후, 비동기 이벤트를 사용하여 오디오 데이터를 처리하는 예제입니다.
if (async_load[? "buffer_id"] != undefined) {
var buffer_id = async_load[? "buffer_id"];
var data_length = async_load[? "data_len"];
// 임시 버퍼에서 데이터 복사
var custom_buffer = buffer_create(data_length, buffer_grow, 1);
buffer_copy(custom_buffer, 0, buffer_id, 0, data_length);
// 추가적인 데이터 처리
// ...
buffer_delete(buffer_id);
buffer_delete(custom_buffer);
}
녹음 중지하기
녹음을 중지하는 것도 가능합니다. 다음 코드를 사용하여 녹음을 종료할 수 있습니다.
audio_stop_recording(audio_record);
이 코드는 위에서 얻은 audio_record 변수를 사용하여 녹음을 중지합니다.
참고 사항
- 대부분의 플랫폼은 오디오 녹음을 지원하지만, 모든 장치가 이를 허용하는 것은 아니기 때문에 항상 장치의 가능성을 확인해야 합니다.
이 문서가 오디오 녹음 기능을 사용하는 데 도움이 되었기를 바랍니다. 추가 질문이 있으시면 언제든지 문의해 주세요!