2017-10-10 14 views
0

나는 웹캠에서 비디오/오디오 스트리밍을받을 수있는 WebRTC가 아이폰 OS 응용 프로그램을 개발하고 있어요 요구하지 마십시오.는 마이크의 허가

장치는 오디오와 비디오를 수집하지 않기 때문에 마이크 권한에 대해 적용 할 필요가 없습니다, 오디오 및 비디오 스트림을 수신합니다.

어떻게 마이크 permisson의 적용을 금지 할 수 있습니까? 는

@kemmitorz 나는 다음과 같은 방법을 삭제했지만 문제가 해결되지 않았다.

- (RTCRtpSender *)createAudioSender 
{ 
    RTCMediaConstraints *constraints = [self defaultMediaAudioConstraints]; 
    RTCAudioSource *source = [_factory audioSourceWithConstraints:constraints]; 
    RTCAudioTrack *track = [_factory audioTrackWithSource:source 
                trackId:kARDAudioTrackId]; 
    RTCRtpSender *sender = [_peerConnection 
          senderWithKind:kRTCMediaStreamTrackKindAudio 
           streamId:kARDMediaStreamId]; 
    sender.track = track; 
    return sender; 
} 

OfferToReceiveAudio를 false로 설정하면. 장치가 마이크 권한을 신청하지 않습니다. 그러나 수신 된 비디오에는 소리가 들리지 않습니다.

- (RTCMediaConstraints)defaultOfferConstraints 
{ 
    NSDictionary *mandatoryConstraints = @{ 
              @"OfferToReceiveAudio" : @"true", 
              @"OfferToReceiveVideo" : @"true" 
              }; 
    RTCMediaConstraints constraints = [[RTCMediaConstraints alloc] 
           initWithMandatoryConstraints:mandatoryConstraints 
              optionalConstraints:nil]; 
    return constraints; 
} 
+0

당신의 Info.plist 파일 –

+0

예에 권한을 추가했다, 나는 그것을했다. 그렇게하지 않으면 응용 프로그램이 중단됩니다. 나는 내가이 링크를 생각 마이크 permissions.Thanks에 대한 – loveDoudou

+0

너를 도울 것이다 . https://www.script-tutorials.com/step-by-step-webrtc/ –

답변

0

오디오 녹음은 사용자의 명시 적 권한이 필요합니다. 첫 번째 은 응용 프로그램의 오디오 세션이 녹음을 허용하는 범주 ("오디오 세션 범주"참조)를 사용하는 동안 오디오 입력 경로 을 사용하려고하면 시스템에 사용자에게 권한이 자동으로 묻습니다. 양자 택일로, 당신은 requestRecordPermission 호출 할 수 프롬프트 사용자에게 당신의

가 모든 쿼리가 다음 말해 .. 코딩 해피

switch ([[AVAudioSession sharedInstance] recordPermission]) { 
    case AVAudioSessionRecordPermissionGranted: 
     // here call your record method and put this condition in your viewcontroller. 
     break; 
    case AVAudioSessionRecordPermissionDenied: 

     break; 
    case AVAudioSessionRecordPermissionUndetermined: 
     // This is the initial state before a user has made any choice 
     // You can use this spot to request permission here if you want 
     break; 
    default: 
     break; 
} 

선택의 시간에서.

+0

을 확인 – loveDoudou

+0

@loveDoudou 적용됩니다 연결 프로세스를 확립하기 위해 승인도 모르는 WebRTC가 어떤 단계를 필요로하지 않기 때문에 마이크 권한 대화 상자를 사용하지 않으려는 내 대답 –