diff --git a/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/UserInterfaceState.xcuserstate
index 32e4bae..99b7e58 100644
Binary files a/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/UserInterfaceState.xcuserstate and b/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index 1c88ba2..27b18a0 100644
--- a/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -46,8 +46,8 @@
filePath = "SwiftProject/Project/View/CCSpatialDisplayTypeView/CCSpatialDisplayTypeView.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "125"
- endingLineNumber = "125"
+ startingLineNumber = "131"
+ endingLineNumber = "131"
landmarkName = "init(menuWidth:arrow:datas:configures:dissMissCallback:)"
landmarkType = "7">
@@ -553,22 +553,6 @@
-
-
-
-
+
+
+
+
diff --git a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift
index 5d71c83..4a1d836 100644
--- a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift
+++ b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift
@@ -71,7 +71,7 @@ class CCSpatialVideoDisplayController: BaseController {
let kNowTimeToUserDefaultKey_VideoDisplayController:String = "kNowTimeToUserDefaultKey_VideoDisplayController"
var link = false//是否已连接设备
- var isPlaying = false//是否正在播放
+ var isPlaying = false//是否正在串流播放
var selectedIndex:SpatialType = .parallelEyes//记录当前选择的菜单选项
{
@@ -421,11 +421,16 @@ class CCSpatialVideoDisplayController: BaseController {
}
externalDispalylink = ws.windows.first?.screen.displayLink(withTarget: self, selector: #selector(displayUpdate(caDisplayLink:)))
externalDispalylink?.add(to: RunLoop.main, forMode: RunLoop.Mode.common)
- }
+ }
}
}
+ updateTopCenterButtonWhenIsPlayingChange()
+ }
+
+ //当处理外部设备连接状态时,串流状态更新
+ func updateTopCenterButtonWhenIsPlayingChange() {
//串流播放中
mTopCenterTypeButton.setImage(UIImage.init(named: "linked_button"), for: .normal)
mTopCenterTypeButton.setTitleColor(UIColor(hexString: "#D0C0FF"), for: .normal)
@@ -477,6 +482,7 @@ class CCSpatialVideoDisplayController: BaseController {
externalVC?.playerLayer?.player = nil
self.playerController?.player = player
player?.play()
+ externalVC = nil
}
@objc func displayUpdate(caDisplayLink:CADisplayLink) {
@@ -503,7 +509,7 @@ class CCSpatialVideoDisplayController: BaseController {
}
func releaseVideoComposition() {
- if let ed = externalDispalylink {
+ if externalDispalylink != nil {
externalDispalylink?.invalidate()
externalDispalylink = nil
}
@@ -566,19 +572,39 @@ class CCSpatialVideoDisplayController: BaseController {
}
func startOrEndExternalVR() {
- //开始串流/结束串流
if(link == true){
- isPlaying = !isPlaying
- if(isPlaying == true){
- // 当前已连接到 AirPlay 设备
- playerController!.player!.usesExternalPlaybackWhileExternalScreenIsActive = true
- playerController!.player!.allowsExternalPlayback = true
- }else{
- playerController!.player!.usesExternalPlaybackWhileExternalScreenIsActive = false
- playerController!.player!.allowsExternalPlayback = false
-
+ if isPlaying {//结束串流
+ isPlaying = false
+ if self.externalVC != nil {
+ externalVC?.playerLayer?.player = nil
+ player?.pause()
+ releaseVideoComposition()
+ DispatchQueue.main.asyncAfter(deadline: .now()+0.15, execute: {[weak self] in
+ let playerItem = self?.getPlayerItem()
+ self?.player?.replaceCurrentItem(with: playerItem)
+ self?.playerController?.player = self?.player
+ self?.player?.play()
+ })
+
+ }
}
+ else {//开始串流
+ if self.externalVC != nil {
+ self.playerController?.player = nil
+ player?.pause()
+ releaseVideoComposition()
+ let playerItem = self.getPlayerItem()
+ player?.replaceCurrentItem(with: playerItem)
+ externalVC?.playerLayer?.player = player
+ player?.play()
+ isPlaying = true
+ }
+ }
+
}
+
+
+ updateTopCenterButtonWhenIsPlayingChange()
}
func selectedSpatialType(selectedIndex:Int){
diff --git a/SwiftProject/SwiftProject/Project/View/CCSpatialDisplayTypeView/CCSpatialDisplayTypeView.swift b/SwiftProject/SwiftProject/Project/View/CCSpatialDisplayTypeView/CCSpatialDisplayTypeView.swift
index cb8dfea..2c4ee10 100644
--- a/SwiftProject/SwiftProject/Project/View/CCSpatialDisplayTypeView/CCSpatialDisplayTypeView.swift
+++ b/SwiftProject/SwiftProject/Project/View/CCSpatialDisplayTypeView/CCSpatialDisplayTypeView.swift
@@ -87,9 +87,15 @@ public class CCSpatialDisplayTypeView: UIView {
view.isHidden = true
//增加点击手势
- let guesture = UITapGestureRecognizer(target: self, action: #selector(tapFooterAction))
- view.addGestureRecognizer(guesture)
-
+// let guesture = UITapGestureRecognizer(target: self, action: #selector(tapFooterAction))
+// view.addGestureRecognizer(guesture)
+ let btn = UIButton()
+ view.addSubview(btn)
+ btn.backgroundColor = .clear
+ btn.addTarget(self, action: #selector(tapFooterAction), for: .touchUpInside)
+ btn.snp.makeConstraints { make in
+ make.left.top.right.bottom.equalToSuperview()
+ }
return view
}()
lazy var showBottomTextLabel: UILabel = {
@@ -100,7 +106,7 @@ public class CCSpatialDisplayTypeView: UIView {
label.textAlignment = .center
label.font = KFont_Medium(12)
label.textColor = .white
-// label.isUserInteractionEnabled = true
+ label.isUserInteractionEnabled = false
return label
@@ -376,6 +382,7 @@ extension CCSpatialDisplayTypeView : UITableViewDataSource,UITableViewDelegate{
//MARK: - 点击Footer
@objc func tapFooterAction() -> Void {
self.tapFooterActionBlock?()
+ dismiss()
}