알려진 주의사항
Android에서 오디오 입력 공유
모바일 기기의 오디오 녹음과 관련하여 알려진 몇 가지 주의사항이 있습니다.
두 개 이상의 일반 Android 앱은 동시에 오디오를 녹음할 수 없습니다. 다른 앱이 오디오를 녹음하는 동안 오디오를 녹음하려고 하면, 녹음이 실패합니다(화이트 노이즈가 녹음됨).
자세한 내용은 다음 링크를 참조하세요:
SORI SDK의 오디오 인식이 진행 중인 동안에는 마이크가 녹음을 시작한 앱에 의해 잠깁니다. 인식이 중지될 때까지 다른 앱은 오디오를 캡처할 수 없습니다.
예외적으로, 시스템 권한이 있는 특권 앱(AI 어시스턴트, 접근성 권한(화면 녹화 앱 등))은 일반 앱이 마이크를 선점하더라도 계속 녹음할 수 있습니다.
수신 전화, 알람 및 기타 시스템 소리는 이 제한의 영향을 받지 않습니다.
SORI SDK는 앱이 화면 상단에 표시되지 않을 때도 오디오 인식을 계속 수행할 수 있습니다(포그라운드 서비스 사용). 이 경우 사용자는 오디오 인식이 여전히 진행 중인지 알지 못할 수 있습니다. 불필요한 VC를 방지하기 위해 오디오 인식을 중지하는 방법을 제공하는 것이 좋습니다.
iOS에서 오디오 녹음에 관하여
백그라운드 인식
SORI SDK는 백그라운드 인식을 지원합니다. 오디오 레코더가 백그라운드에서 실행될 수 있도록 지정하면 백그라운드 인식도 가능합니다.
백그라운드 인식은 프로젝트의 Info.plist 파일에 다음 키와 값을 추가하여 사용할 수 있습니다. 아래 코드는 예시이며, 중요한 부분은 audio
입니다.
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
<string>audio</string>
</array>
TIP
모든 권한이 필요한 것은 아니지만, 위의 세 가지 권한을 갖는 것은 SORI SDK 작동에 영향을 주지 않습니다.
백그라운드 인식 사용의 부작용
SORI SDK는 소리를 듣기 위해 Apple Audio Queue System을 사용하여 마이크에서 PCM 데이터를 획득합니다. 시스템이나 다른 앱과 충돌하지 않고 오디오 레코더를 사용하기 위해, SORI SDK는 다음과 같이 Audio Session(AVAudioSession
)을 구성합니다.
- 카테고리:
AVAudioSessionCategoryPlayAndRecord
- 모드:
AVAudioSessionModeMeasurement
- 옵션:
AVAudioSessionCategoryOptionMixWithOthers
대부분의 상황에서 위의 Audio Session 구성은 문제를 일으키지 않습니다. 그러나 특정 앱의 Audio Session 구성에 따라 드물게 SORI SDK나 특정 앱의 작동에 부작용이 발생할 수 있습니다. 대부분의 경우 부작용은 스피커나 이어폰을 통해 소리가 나지 않는 것입니다.