diff --git a/SwiftProject/Pods/LLCycleScrollView/Lib/LLCycleScrollView/LLCycleScrollView.swift b/SwiftProject/Pods/LLCycleScrollView/Lib/LLCycleScrollView/LLCycleScrollView.swift
index cefb912..d3bfb5e 100644
--- a/SwiftProject/Pods/LLCycleScrollView/Lib/LLCycleScrollView/LLCycleScrollView.swift
+++ b/SwiftProject/Pods/LLCycleScrollView/Lib/LLCycleScrollView/LLCycleScrollView.swift
@@ -623,7 +623,7 @@ extension LLCycleScrollView {
case.right:
customPageControl?.frame = CGRect.init(x: UIScreen.main.bounds.width - (oldFrame?.size.width)! - pageControlLeadingOrTrialingContact * 0.5, y: y, width: (oldFrame?.size.width)!, height: 10)
default:
- customPageControl?.frame = CGRect.init(x: (oldFrame?.origin.x)!, y: y, width: (oldFrame?.size.width)!, height: 10)
+ customPageControl?.frame = CGRect.init(x: (self.bounds.width - (oldFrame?.size.width)!)*0.5, y: y, width: (oldFrame?.size.width)!, height: 10)
}
}
diff --git a/SwiftProject/SwiftProject.xcodeproj/project.pbxproj b/SwiftProject/SwiftProject.xcodeproj/project.pbxproj
index b3bf936..68d8aad 100644
--- a/SwiftProject/SwiftProject.xcodeproj/project.pbxproj
+++ b/SwiftProject/SwiftProject.xcodeproj/project.pbxproj
@@ -857,7 +857,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1.5;
+ CURRENT_PROJECT_VERSION = 1.7;
DEVELOPMENT_TEAM = 8DQD6BV6H9;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = SwiftProject/Info.plist;
@@ -898,7 +898,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1.5;
+ CURRENT_PROJECT_VERSION = 1.7;
DEVELOPMENT_TEAM = 8DQD6BV6H9;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = SwiftProject/Info.plist;
diff --git a/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/UserInterfaceState.xcuserstate
index b9dfeb1..04b103e 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 b8b310e..180f345 100644
--- a/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/SwiftProject/SwiftProject.xcworkspace/xcuserdata/aaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -14,8 +14,8 @@
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "515"
- endingLineNumber = "515"
+ startingLineNumber = "495"
+ endingLineNumber = "495"
landmarkName = "CCHomeController"
landmarkType = "21">
@@ -30,8 +30,8 @@
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "507"
- endingLineNumber = "507"
+ startingLineNumber = "487"
+ endingLineNumber = "487"
landmarkName = "photoLibrary()"
landmarkType = "7">
@@ -84,38 +84,6 @@
-
-
-
-
-
-
-
-
@@ -637,5 +605,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SwiftProject/SwiftProject/Project/Controller/CCHomeController.swift b/SwiftProject/SwiftProject/Project/Controller/CCHomeController.swift
index 72eef28..eb57719 100644
--- a/SwiftProject/SwiftProject/Project/Controller/CCHomeController.swift
+++ b/SwiftProject/SwiftProject/Project/Controller/CCHomeController.swift
@@ -66,25 +66,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
self.checkAirPlayStatus()
}
-// func isExternalDeviceConnected() -> Bool {
-// let screens = UIScreen.screens
-//
-// // 如果屏幕数量大于1,则至少连接了一个外部设备
-// if screens.count > 1 {
-// return true
-// }
-//
-// // 检查每个屏幕是否是外部屏幕
-// for screen in screens {
-// if !screen.isEqual(UIScreen.main) {
-// return true
-// }
-// }
-//
-// // 没有连接外部设备
-// return false
-// }
-
+
override func viewDidLoad() {
super.viewDidLoad()
@@ -184,7 +166,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
//345*200
cycleScrollView = LLCycleScrollView()
- cycleScrollView?.frame = CGRect.init(x: 24, y: Int(SafeAreaTop_Height) + 35, width: Int(SCREEN_Width) - 48, height: (Int(SCREEN_Width) - 48) * 200/345)
+ cycleScrollView?.frame = CGRect.init(x: 24, y: Int(SafeAreaTop_Height) + 35, width: Int(SCREEN_Width)-48 , height: (Int(SCREEN_Width) - 48) * 200/345)
cycleScrollView!.delegate = self
// 是否自动滚动
cycleScrollView!.autoScroll = true
@@ -214,6 +196,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
// 添加到view
self.view.addSubview(cycleScrollView!)
+
// 图片获取
cycleScrollView!.imagePaths = ["Banner_01","Banner_02","Banner_03"]
@@ -243,7 +226,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
//滚动切换文本显示
func cycleScrollView(_ cycleScrollView: LLCycleScrollView, scrollTo index: NSInteger) {
- print("当前页面索引:\(index)")
+// print("当前页面索引:\(index)")
let arr1 = ["Tips.1 拍摄空间照片以及视频","Tips.2 视频转码","Tips.3 直连VR设备"]
let arr2 = ["一键拍摄空间格式的照片以及视频,留住美好瞬间",
"可以将任意格式视频转码为 VR 或 3D 格式",
@@ -448,10 +431,7 @@ extension CCHomeController: TZImagePickerControllerDelegate,UINavigationControll
func spaceAlbum() {
KWindow?.addSubview(spaceAlbumPopView)
spaceAlbumPopView.show()
-
-
-
-
+
//选择图片
spaceAlbumPopView.selectedImageHandler = { [self] data,asset in
gotoPhotoTransformVC(data: data, url: nil,asset: asset)
diff --git a/SwiftProject/SwiftProject/Project/Util/SpatialVideoWriter.swift b/SwiftProject/SwiftProject/Project/Util/SpatialVideoWriter.swift
index e295240..ab60932 100644
--- a/SwiftProject/SwiftProject/Project/Util/SpatialVideoWriter.swift
+++ b/SwiftProject/SwiftProject/Project/Util/SpatialVideoWriter.swift
@@ -56,22 +56,36 @@ class SpatialVideoWriter {
//附加视频标记元数据信息
let metadataItem_1 = AVMutableMetadataItem()
- metadataItem_1.identifier = .quickTimeMetadataDescription
+ metadataItem_1.identifier = .quickTimeMetadataSpatialOverCaptureQualityScoringVersion
metadataItem_1.dataType = kCMMetadataDataType_QuickTimeMetadataDirection as String
metadataItem_1.value = String("ff") as (NSCopying & NSObjectProtocol)
+ metadataItem_1.extraAttributes = [.info:"vpexport"]
+// let metadataItem_2 = AVMutableMetadataItem()
+// metadataItem_2.identifier = .quickTimeMetadataSpatialOverCaptureQualityScoringVersion
+// metadataItem_2.dataType = kCMMetadataDataType_QuickTimeMetadataDirection as String
+// metadataItem_2.value = String("ff") as (NSCopying & NSObjectProtocol)
+// metadataItem_2.extraAttributes = [.info:"vpexport"]
- let metadataItem_2 = AVMutableMetadataItem()
- metadataItem_2.identifier = .quickTimeMetadataInformation
- metadataItem_2.dataType = kCMMetadataDataType_QuickTimeMetadataDirection as String
- metadataItem_2.value = String("ff") as (NSCopying & NSObjectProtocol)
+// let atmg:AVMutableTimedMetadataGroup = AVMutableTimedMetadataGroup(items: [metadataItem_1,metadataItem_2], timeRange: CMTimeRange(start: .zero, duration: .positiveInfinity))
+// let desc:CMMetadataFormatDescription? = atmg.copyFormatDescription()
+// let asaArray = AVOutputSettingsAssistant.availableOutputSettingsPresets()
+// asaArray.forEach { preset in
+// var asa = AVOutputSettingsAssistant(preset: preset)
+// print("asa:\n\(asa?.videoSettings) \n\(asa?.audioSettings)\n")
+// }
+//
+// let input_metadata = AVAssetWriterInput.init(mediaType: .metadata, outputSettings: nil, sourceFormatHint: desc)
+//// let input_metadata = AVAssetWriterInput.init(mediaType: .metadata, outputSettings: nil)
+// let metadataAdaptor = AVAssetWriterInputMetadataAdaptor(assetWriterInput: input_metadata)
+// if assetWriter.canAdd(input_metadata) {
+// assetWriter.add(input_metadata)
+// }
+// else {
+// print("assetwriter can't add input_metadata....")
+// }
-
- let atmg:AVMutableTimedMetadataGroup = AVMutableTimedMetadataGroup(items: [metadataItem_1,metadataItem_2], timeRange: CMTimeRange(start: .zero, duration: .positiveInfinity))
- let desc:CMMetadataFormatDescription? = atmg.copyFormatDescription()
- let input_metadata = AVAssetWriterInput.init(mediaType: .metadata, outputSettings: nil, sourceFormatHint: desc)
- let metadataAdaptor = AVAssetWriterInputMetadataAdaptor(assetWriterInput: input_metadata)
- assetWriter.add(input_metadata)
+ assetWriter.metadata = [metadataItem_1]
@@ -185,9 +199,9 @@ class SpatialVideoWriter {
self.addAudio(assetTrackOutput: output_audio_left, audio_input: writerInput_Audio_left)
//附加元素据
- let appendATMGResult = metadataAdaptor.append(atmg)
-
- print("atmg result:\(appendATMGResult)")
+// let appendATMGResult = metadataAdaptor.append(atmg)
+//
+// print("atmg result:\(appendATMGResult)")
// 完成写入
print("完成写入")
diff --git a/SwiftProject/SwiftProject/Project/Util/ZZHHelper.swift b/SwiftProject/SwiftProject/Project/Util/ZZHHelper.swift
index 7b84ac0..c474479 100644
--- a/SwiftProject/SwiftProject/Project/Util/ZZHHelper.swift
+++ b/SwiftProject/SwiftProject/Project/Util/ZZHHelper.swift
@@ -41,10 +41,7 @@ class ZZHHelper {
// if track.mediaType == .video {
// for formatDesc in track.formatDescriptions {
// let dic = CMFormatDescriptionGetExtensions(formatDesc as! CMFormatDescription) as! Dictionary
-// let fromatName = dic["FormatName"] as? String
-// if let fn = fromatName,fn == "HEVC"{
-// return true
-// }
+// print("fromatdesc:\n\(dic)\n\n")
// }
// }
// }
@@ -53,8 +50,9 @@ class ZZHHelper {
let metadata = asset.metadata(forFormat: AVMetadataFormat.quickTimeMetadata)
let isSpatialVideo = metadata.contains { item in
+ print("item:\n\(item) \n\n\n")
if let identifier = item.identifier?.rawValue {
- return identifier == "mdta/com.apple.quicktime.spatial.format-version"
+ return (identifier == "mdta/com.apple.quicktime.spatial.format-version") || (identifier == "mdta/com.apple.quicktime.spatial-overcapture.quality-scoring-version")
}
return false
}