잘못된 질문을하고있을 수도 있지만이 분야에 대한 지식은 매우 제한적입니다.GSM6.10 오디오 형식 블록 또는 스트림 기반입니까?
PCM을 GSM (6.10)으로 변환하려면 acmStreamConvert
을 사용하고 있습니다.
오디오 형식 : 8kHz의 16 비트, I는 640 바이트 (320 샘플)을 사용하고있어 PCM 버퍼 크기 모노
. GSM 버퍼의 경우 65 바이트를 사용하고 있습니다. 제 이해는 GSM이 "항상"320 샘플을 65 바이트로 변환한다는 것입니다.
"블록 또는 스트림"을 묻는 이유는 동일한 acmStreamConvert 핸들을 사용하여 여러 오디오 스트림 (실시간)을 안전하게 변환 할 수 있는지 궁금합니다. 함수에 ACM_STREAMCONVERTF_START
및 ACM_STREAMCONVERTF_END
및 ACM_STREAMCONVERTF_BLOCKALIGN
플래그가 있지만,이 시작/끝 시퀀스를 GSM에 사용해야합니까? 머리/꼬리를 사용하는 일부 형식에는 이것이 필요할 수도 있지만 GSM 형식에는 필요하지 않길 바랍니다.
그룹 VOIP 클라이언트에서 작업 중이며 각 클라이언트는 GSM 형식을 전송 한 다음 재생하기 전에 PCM으로 변환해야합니다. 나는 클라이언트 당 하나의 ACM 핸들을 필요로하지 않기를 바라고있다.