작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
748
0
안녕하세요 rn webview에서 오디오 관련해서 문제가 있어 질문드리게 되었습니다.
현재 react-native webivew에서 agora를 사용하고 있는데 음성 채팅에 참여할 때 마이크 권한을 얻고 오디오트랙을 활성화 시키는데 이 과정에서 background에서 재생중이던 앱의 오디오가 중지되는 문제가 있습니다.
android에서는 webview의 오디오 트랙이 활성 또는 비활성될 때 재생중이던 앱의 오디오가 잠깐 중지되었다가 다시 재생되는데
ios에서는 재생중이던 앱의 오디오가 중지되고 다시 재생되지 않는 문제가 있습니다.
AppDelegate.mm 에서
#import <AVFoundation/AVFoundation.h>
.
.
.
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
또는
NSError setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError];
if (setCategoryError) NSLog(@"error AVAudioSession setCategory");
NSError activationError = nil;
[[AVAudioSession sharedInstance] setActive:YES error:&activationError];
if (activationError) NSLog(@"error AVAudioSession setActive");
를 설정해봤지만
Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "(originator doesn't have entitlement com.apple.runningboard.assertions.webkit AND originator doesn't have entitlement com.apple.multitasking.systemappassertions)" UserInfo={NSLocalizedFailureReason=(originator doesn't have entitlement com.apple.runningboard.assertions.webkit AND originator doesn't have entitlement com.apple.multitasking.systemappassertions)}>
같은 에러가 발생하고 여전히 해결되지 않고 있습니다. ㅠㅠ
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. react-native webview에서 오디오 관련 문제에 대해 질문하셨군요.
Android에서는 webview의 오디오 트랙이 활성 또는 비활성될 때 재생중이던 앱의 오디오가 잠깐 중지되었다가 다시 재생되는데, iOS에서는 재생중이던 앱의 오디오가 중지되고 다시 재생되지 않는 문제가 있다고 하셨습니다.
iOS에서 오디오가 중지되고 재생되지 않는 문제는 AVAudioSession 관련 설정으로 해결할 수 있을 것 같습니다. 현재 AppDelegate.mm 파일에 오디오 세션의 카테고리 설정을 하는 부분이 있는데, 다음과 같이 설정해보시면 어떨까요?
#import
…
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError];
if (setCategoryError) NSLog(@“error AVAudioSession setCategory”);
NSError *activationError = nil;
[[AVAudioSession sharedInstance] setActive:YES error:&activationError];
if (activationError) NSLog(@“error AVAudioSession setActive”);
위 코드를 AppDelegate.mm 파일에 추가하고 빌드 및 실행해 보시길 바랍니다. 이 설정으로 오디오 세션을 주변 모드로 설정하고 활성화하는 것이며, 기존의 오디오가 중지되지 않는 문제를 해결할 수 있을 수도 있습니다.
그러나, 오디오와 관련된 문제는 상황에 따라 다양한 원인이 있을 수 있기 때문에 정확한 해결책을 제시하기는 어렵습니다. 만약 위 방법으로 문제가 해결되지 않는다면, 더 많은 정보와 코드를 제공해주시면 더 자세한 도움을 드릴 수 있을 것 같아요.