화면 공유 등 응용 시나리오에서는 시스템 오디오를 상대방에게 공유해야 하는 상황이 종종 발생하지만, Mac 컴퓨터는 기본적으로 사운드 카드에서 시스템 오디오 수집을 지원하지 않아 곤란할 때가 많습니다. 이에 따라 TRTC는 해당 시나리오에 대한 수요를 위해 Mac 시스템 오디오 녹음 기능을 제공합니다. 구체적인 액세스 방법은 다음과 같습니다.
통합 설명
1단계: TRTCPrivilegedTask 라이브러리 통합
SDK는 TRTCPrivilegedTask 라이브러리를 사용해 root 권한을 획득하므로, 버츄얼 사운드 카드 플러그 인 TRTCAudioPlugin.driver를 시스템 디렉터리 /Library/Audio/Plug-Ins/HAL에 설치합니다.
CocoaPods를 사용한 통합
수동 통합
1. 현재 프로젝트의 루트 디렉터리에서 Podfile 파일을 연 뒤 다음 내용을 추가합니다.
platform: osx,'10.10'
target 'Your Target'do
pod 'TRTCPrivilegedTask',:podspec=>'https://pod-1252463788.cos.ap-guangzhou.myqcloud.com/liteavsdkspec/TRTCPrivilegedTask.podspec'
end
2. pod install 명령어를 실행하여 TRTCPrivilegedTask 라이브러리를 설치합니다.
설명:
프로젝트의 루트 디렉터리에 `Podfile` 파일이 없는 경우, 먼저 `pod init` 명령어를 실행하여 파일을 생성한 뒤 다음 내용을 추가합니다.
2. Xcode 프로그래밍 프로젝트를 열어 압축 해제한 파일 libPrivilegedTask.a를 프로그램으로 가져옵니다.
3. 실행할 타깃을 선택하고 Build Phases를 선택합니다. Link Binary with Libraries를 펼치고 아래쪽에 있는 + 버튼을 클릭하여 종속 라이브러리 libPrivilegedTask.a를 추가합니다.
2단계: App Sandbox 기능 취소
App의 entitlements 설명 파일에서 App Sandbox 항목을 삭제합니다.
3단계: 버츄얼 사운드 카드 플러그 인 패키징
TRTCPrivilegedTask 라이브러리 통합 및 App Sandbox 기능 취소를 완료한 후, 처음 시스템 오디오 녹음 기능 사용 시 SDK는 네트워크에서 버츄얼 사운드 카드 플러그 인을 다운로드 및 설치합니다. 해당 과정을 신속하게 진행하고 싶은 경우, 다음 이미지와 같이 TXLiteAVSDK_TRTC_Mac.framework의 PlugIns 디렉터리에 있는 버츄얼 사운드 카드 플러그 인 TRTCAudioPlugin.driver을 App Bundle의 Resources 디렉터리에 패키징합니다.
TRTCPrivilegedTask 라이브러리 통합 및 App Sandbox 기능 취소 후 처음 startSystemAudioLoopback 호출 시 다음 이미지와 같이 root 권한을 획득할 수 있습니다.예를 클릭하면 버츄얼 사운드 카드 플러그 인이 자동으로 설치됩니다.
TRTC는 Mac에서 버츄얼 사운드 카드 플러그 인 TRTCAudioPlugin.driver를 통해 시스템 오디오를 녹음합니다. 이 버츄얼 사운드 카드 플러그 인은 시스템 디렉터리 /Library/Audio/Plug-Ins/HAL에 복사하여 오디오 서비스를 재시작하면 적용됩니다. 실행의 기타 폴더에 있는 오디오 MIDI 설정 애플리케이션으로 버츄얼 사운드 카드 플러그 인이 정상적으로 설치되었는지 확인할 수 있으며, 해당 애플리케이션의 디바이스 리스트에 'TRTC Audio Device'가 있으면 TRTC 버츄얼 사운드 카드 플러그 인이 정상적으로 설치된 것입니다.
TRTCPrivilegedTask 라이브러리 통합 및 App Sandbox 기능 취소는 TRTC SDK에 버츄얼 사운드 플러그 인 자동 설치를 위한 root 권한을 제공합니다. TRTCPrivilegedTask 라이브러리를 통합하지 않고 App Sandbox 기능을 유지하는 경우, SDK는 버츄얼 사운드 카드 플러그 인을 자동으로 설치하지 않습니다. 단, 시스템에 이미 버츄얼 사운드 카드 플러그 인이 설치되어 있는 경우 시스템 오디오 녹음 기능은 정상적으로 사용할 수 있습니다.
설명:
위 방법 외에도 수동으로 버츄얼 사운드 카드 플러그 인을 설치하여 해당 기능을 통합할 수 있습니다.
1. TXLiteAVSDK_TRTC_Mac.framework의 PlugIns 디렉터리에 있는 TRTCAudioPlugin.driver를 시스템 디렉터리 /Library/Audio/Plug-Ins/HAL로 복사합니다.
App Sandbox 기능을 취소하면 App에서 획득한 사용자 경로가 변경됩니다.NSSearchPathForDirectoriesInDomains 등 시스템 메소드를 통해 획득한 ~/Documents, ~/Library 등의 디렉터리는 샌드박스 디렉터리에서 사용자 디렉터리인 /Users/사용자 이름/Documents, /Users/사용자 이름/Library로 전환됩니다.
TRTCPrivilegedTask 라이브러리를 통합하면 Mac App Store에 App을 출시하지 못할 수도 있습니다.SDK에서 버츄얼 사운드 카드 플러그 인 자동 설치 시 App Sandbox 기능을 비활성화하고 root 권한을 획득해야 합니다. 이 경우 Mac App Store에 App을 출시하지 못할 수 있으며, 자세한 내용은 App Store Review Guidelines를 참조하십시오.App Store에 App을 출시해야 하거나 Sandbox 기능을 사용해야 할 경우 버츄얼 사운드 카드 플러그 인 수동 설치를 권장합니다.