강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

react-native webview 오디오 관련 질문입니다 ㅠㅠ

작성

·

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 파일에 추가하고 빌드 및 실행해 보시길 바랍니다. 이 설정으로 오디오 세션을 주변 모드로 설정하고 활성화하는 것이며, 기존의 오디오가 중지되지 않는 문제를 해결할 수 있을 수도 있습니다.

그러나, 오디오와 관련된 문제는 상황에 따라 다양한 원인이 있을 수 있기 때문에 정확한 해결책을 제시하기는 어렵습니다. 만약 위 방법으로 문제가 해결되지 않는다면, 더 많은 정보와 코드를 제공해주시면 더 자세한 도움을 드릴 수 있을 것 같아요.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기