Skip to content

알려진 주의사항

Android에서 오디오 입력 공유

Android 기기의 오디오 캡처에는 몇 가지 알려진 주의사항이 있습니다.

마이크 입력 공유 방식은 Android 버전과 각 앱이 사용하는 오디오 소스에 따라 달라집니다.

자세한 내용은 Android 플랫폼 문서를 참조하세요:

오디오 입력 공유

Android 9 이하

Android 10 이전에는 일반적으로 먼저 시작한 앱이 마이크 입력을 사용합니다. SORI SDK의 오디오 인식이 실행 중이면 다른 일반 앱의 마이크 캡처가 실패할 수 있고, 반대로 다른 앱이 이미 녹음 중이면 SORI SDK가 마이크를 획득하지 못할 수 있습니다.

시스템 권한을 가진 특권 앱, 예를 들어 어시스턴트나 접근성 서비스는 이 동작의 예외가 될 수 있습니다.

Android 10 이상

Android 10부터는 우선순위 기반의 오디오 입력 공유 모델이 적용됩니다. 이 모델에서는 SORI SDK의 인식이 실행 중이어도 다른 앱이 오디오 캡처를 시작할 수 있습니다. 우선순위가 낮은 캡처는 반드시 중지되는 것이 아니라, 실행 상태를 유지하면서 사일런스를 받을 수 있습니다.

특히 다른 앱이 CAMCORDER 또는 VOICE_COMMUNICATION 같은 privacy-sensitive 오디오 소스를 사용할 때 이 점이 중요합니다. 예를 들어 SORI SDK 인식 중 카메라 앱이 동영상 녹화를 시작하면, 카메라 앱은 마이크 오디오를 받고 SORI SDK는 일시적으로 사일런스를 받을 수 있습니다. 우선순위가 높은 캡처가 종료되면 Android는 SORI SDK 인식을 재시작하지 않아도 정상 마이크 입력으로 다시 전환할 수 있습니다.

Android 10+ 연속 캡처를 사용하는 SORI SDK 버전에서는 이 전환이 정상적인 캡처 동작으로 처리됩니다. SORI SDK가 사일런스를 받는 동안에는 인식 결과가 없을 수 있으며, 우선순위가 높은 앱이 마이크를 해제하면 인식이 다시 정상 입력으로 이어질 수 있습니다. 정상 인식이 재개되기 전 짧은 복구 구간이 발생할 수 있습니다.

SORI SDK는 포그라운드 서비스를 사용하여 앱이 화면 상단에 표시되지 않을 때도 오디오 인식을 계속 수행할 수 있습니다. 이 경우 사용자는 오디오 인식이 여전히 진행 중인지 알지 못할 수 있습니다. 오디오 인식을 명확하게 중지할 수 있는 방법을 제공하는 것이 좋습니다.

iOS에서 오디오 녹음에 관하여

백그라운드 인식

SORI SDK는 백그라운드 인식을 지원합니다. 오디오 레코더가 백그라운드에서 실행될 수 있도록 지정하면 백그라운드 인식도 가능합니다.

백그라운드 인식은 프로젝트의 Info.plist 파일에 다음 키와 값을 추가하여 사용할 수 있습니다. 아래 코드는 예시이며, 중요한 부분은 audio입니다.

xml
<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나 특정 앱의 작동에 부작용이 발생할 수 있습니다. 대부분의 경우 부작용은 스피커나 이어폰을 통해 소리가 나지 않는 것입니다.