2017-10-10 23 views
0

ウェブカメラからビデオ/オーディオストリーミングを受信するためのWebRTC iOSアプリケーションを開発しています。マイクの許可を求めないでください

デバイスはオーディオとビデオストリームのみを受信し、オーディオとビデオは収集しないため、マイクのアクセス許可を申請する必要はありません。

マイクロフォンの許可をどのようにして禁止できますか? @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

はい、私はそれを行いました。 私はそれをしないと、アプリケーションがクラッシュします。 – loveDoudou

+0

私の答えを確認 –

答えて

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

私はこの許可を必要としないので、マイクのアクセス許可のダイアログを無効にしたいと思います。接続プロセスを確立するためのwebrtcのステップがマイクロフォンのアクセス許可に適用されるかどうかわかりません。 – loveDoudou

+0

@loveDoudou私はこのリンクだと思いますが手伝う 。 https://www.script-tutorials.com/step-by-step-webrtc/ –

関連する問題