添加结束串流、开始串流的逻辑

This commit is contained in:
bluesea 2024-04-08 18:39:26 +08:00
parent b22545fed0
commit 021a8d5b7f
4 changed files with 68 additions and 35 deletions

View File

@ -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">
<Locations>
@ -553,22 +553,6 @@
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "AC3AF843-C4D6-4749-834A-B1DCA686B7CC"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "552"
endingLineNumber = "552"
landmarkName = "navgationButtonClick2(sender:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
@ -633,5 +617,21 @@
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "EF28D223-534C-4D5B-8564-50D9720BA766"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "611"
endingLineNumber = "611"
landmarkName = "selectedSpatialType(selectedIndex:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@ -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){

View File

@ -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()
}