WebRTCビデオは、デフォルトでフロントカメラを使用しています。しかし、私はそれをバックカメラに切り替える必要があり、私はそれを行うためのコードを見つけることができませんでした。 どの部分を編集する必要がありますか? localViewまたはlocalVideoTrackまたはキャプチャのですか?iOS SWIFT - WebRTCをフロントカメラからバックカメラに変更する
答えて
webrtcにはどのchromeバージョンを使用しているのですか?v54以上では、RTCAVFoundationVideoSourceクラスに "useBackCamera"という名前の "bool"プロパティがあります。このプロパティを使用して、フロント/バックカメラを切り替えることができます。
ヘッダーファイル:https://cs.chromium.org/chromium/src/third_party/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h?rcl=c0a0f8d5f2d5b837b4c6ea447b0cdce86723e0d6&l=46 –
スウィフト3.0
ピア接続は、ビデオストリームを送信するための 'RTCVideoTrack' 一つだけを持つことができます。
まず、カメラの前面/背面を変更するには、ピア接続で現在のビデオトラックを削除する必要があります。 その後、必要なカメラに新しい「RTCVideoTrack」を作成し、これをピア接続用に設定します。
この方法を使用しました。
func swapCameraToFront() {
let localStream: RTCMediaStream? = peerConnection?.localStreams.first as? RTCMediaStream
localStream?.removeVideoTrack(localStream?.videoTracks.first as! RTCVideoTrack)
let localVideoTrack: RTCVideoTrack? = createLocalVideoTrack()
if localVideoTrack != nil {
localStream?.addVideoTrack(localVideoTrack)
delegate?.appClient(self, didReceiveLocalVideoTrack: localVideoTrack!)
}
peerConnection?.remove(localStream)
peerConnection?.add(localStream)
}
func swapCameraToBack() {
let localStream: RTCMediaStream? = peerConnection?.localStreams.first as? RTCMediaStream
localStream?.removeVideoTrack(localStream?.videoTracks.first as! RTCVideoTrack)
let localVideoTrack: RTCVideoTrack? = createLocalVideoTrackBackCamera()
if localVideoTrack != nil {
localStream?.addVideoTrack(localVideoTrack)
delegate?.appClient(self, didReceiveLocalVideoTrack: localVideoTrack!)
}
peerConnection?.remove(localStream)
peerConnection?.add(localStream)
}
現在、私はコードのみを変換して、もう一度あなたは以下のコード
-(RTCVideoTrack *)createLocalVideoTrack {
RTCVideoTrack *localVideoTrack = nil; NSString *cameraID = nil;
for (AVCaptureDevice *captureDevice in [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo])
{
if (captureDevice.position == AVCaptureDevicePositionFront) {
cameraID = [captureDevice localizedName]; break;
}
}
RTCVideoCapturer *capturer = [RTCVideoCapturer capturerWithDeviceName:cameraID]; RTCMediaConstraints *mediaConstraints = [self defaultMediaStreamConstraints]; RTCVideoSource *videoSource = [_factory videoSourceWithCapturer:capturer constraints:mediaConstraints]; localVideoTrack = [_factory videoTrackWithID:@"ARDAMSv0" source:videoSource];
return localVideoTrack; }
- (RTCVideoTrack *)createLocalVideoTrackBackCamera {
RTCVideoTrack *localVideoTrack = nil;
//AVCaptureDevicePositionFront
NSString *cameraID = nil;
for (AVCaptureDevice *captureDevice in
[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]) {
if (captureDevice.position == AVCaptureDevicePositionBack) {
cameraID = [captureDevice localizedName];
break;
}
}
RTCVideoCapturer *capturer = [RTCVideoCapturer capturerWithDeviceName:cameraID];
RTCMediaConstraints *mediaConstraints = [self defaultMediaStreamConstraints];
RTCVideoSource *videoSource = [_factory videoSourceWithCapturer:capturer constraints:mediaConstraints];
localVideoTrack = [_factory videoTrackWithID:@"ARDAMSv0" source:videoSource];
return localVideoTrack;
}
この回答には重大なフォーマット上の問題があります。あなたの答えを編集してフォーマットしてください。さもなければ私はそれを不幸にしなければなりません。 –
ok再度更新します –
- 1. GPUImage2、フロントカメラとバックカメラの切り替え
- 2. webview(Android)のバックカメラに変更
- 3. Android:Camera2でバックカメラとフロントカメラを切り替える
- 4. Android - アプリでフロントカメラとバックカメラの両方を利用
- 5. iOS:iOSのフロントカメラまたはバックカメラでビデオファイルが記録されているかどうかを確認する方法
- 6. ios swiftでアプリケーションからカメラ権限を変更する方法
- 7. WebRTC RTCSessionDescription swift
- 8. PubNub iOS WebRTCインテグレーション
- 9. Swift 3 un-flipフロントカメラ画像
- 10. DataChannel Webrtc Swift
- 11. ネイティブのwebRTCでビデオコーデックをVP8からVP9に変更
- 12. Swift iOSからArraySliceをCGFloatに変換する
- 13. iOSのフロントカメラのみのアプリ
- 14. フロントカメラからキャプチャしている間に常にミラーイメージを見るiOS 5.0
- 15. iOS/Swift 4:プログラムで作成したラベルから色を変更する
- 16. iOS Swift 3でインスタンスクラスのvalueプロパティを変更するには?
- 17. ダイナミックラベルの変更を作成するテーブルビューをリロードするiOS Swift
- 18. Swift iOS 8のアドレス帳変更通知
- 19. iOSのwebviewにwebRTCを追加しますか?
- 20. iOS 10、Swift 3 - 非アクティブなバーアイテムアイコンを変更しますか?
- 21. iOS用swiftを使用して画像を変更するApp
- 22. Swift 3 - マップタイプをビューコントローラから別のコントローラに変更する
- 23. WebRTC iOS音声チャット
- 24. iOS WebRTC Handle Packet Loss
- 25. キーボード通知の表示レイアウトを変更する(Swift、iOS)
- 26. Xcode 8のデフォルトのフォントを変更するSwift 3 IOS
- 27. IOS 10 xcode 8 swift 3、UITextViewスワイプでテキストを変更する
- 28. iOSのナビゲーションバーアイテムのアルファ値を変更するSwift
- 29. iOS - Swiftによる制約の乗数の変更
- 30. Androidでバックカメラではなくフロントカメラを使用してZXingスキャンを行う方法は?
を確認することができますいくつかの時間でそれを更新する目的は以下のankitさんのコメントのために答えるcは持っているあなたはのWebRTCライブラリまたはopenwebrtcを使用していますとしょうかん ? –
@ DuraiAmuthan.H libjingle_peerconnectionポッドを使用しています – mrnobody
AVCaptureSessionから既存のAVCameraInputを削除してから、AVCaptureSessionに新しいAVCameraInputを追加してください。AVCaptureDevicePositionBack –