前提・実現したいこと
ARKITを用いて平面推定等を行うと同時に, カメラ映像を録画したい.
発生している問題・エラーメッセージ
video_session.startRunning() //カメラ映像関連
sceneView.session.run(configuration) //AR関連
これら二つのセッションを使いたいが, どちらかのセッションを動かすと, もう一方のセッションが機能しなくなってしまう.
具体的には, カメラ映像関連のセッションを起動した場合は, AR表示させたいARSCNViewが起動せず, 裏で動いている様子もなさそう.
同様に, AR関連のセッションを動かしている際は録画ができない.
該当のソースコード
swift
1 /// 録画を開始する : ボタンからこの関数を呼び出してあげる 2 @objc private func startRecording() { 3 // Documents ディレクトリ直下にファイルを生成する 4 let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) 5 let documentsDirectory = paths[0] as String 6 7 // 現在時刻をファイル名に付与することでファイル重複を防ぐ 8 let formatter = DateFormatter() 9 formatter.dateFormat = "yyyyMMddHHmmssSSS" 10 let filePath: String? = "(documentsDirectory)/myvideo-(formatter.string(from: Date())).mp4" 11 let fileURL = NSURL(fileURLWithPath: filePath!) 12 13 print("録画開始 : (filePath!)") 14 fileOutput?.startRecording(to: fileURL as URL, recordingDelegate: self) 15 self.start_check = true 16 17// //ここで平面推定を行うセッションを表示*1 18// configuration.planeDetection = .horizontal 19// configuration.isLightEstimationEnabled = true 20// self.sceneView.session.run(configuration)
試したこと
*1を非表示にした場合はARが表示されないがカメラ映像の録画が可能で, *1を表示している場合はその逆になってしまう.
補足情報(FW/ツールのバージョンなど)
swift 5.0.1
iOS 13.1
sessionに関しても調べたがあまり有益な情報を見つけられなかった.
そもそもsessionと呼ばれるものがあるかどうかすら怪しい.
質問者に足りてないであろう知識等あればご教授お願いします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/31 07:28