|
|
@ -49,6 +49,8 @@ class VideoController: UIViewController, ItemController, BMPlayerDelegate { |
|
|
var allowEdit = true |
|
|
var allowEdit = true |
|
|
var index = 0 |
|
|
var index = 0 |
|
|
|
|
|
|
|
|
|
|
|
var urls : [URL]? |
|
|
|
|
|
|
|
|
override func viewDidLoad() { |
|
|
override func viewDidLoad() { |
|
|
super.viewDidLoad() |
|
|
super.viewDidLoad() |
|
|
|
|
|
|
|
|
@ -83,7 +85,7 @@ class VideoController: UIViewController, ItemController, BMPlayerDelegate { |
|
|
if let c = currentItem, let url = c.playerURL { |
|
|
if let c = currentItem, let url = c.playerURL { |
|
|
print(url) |
|
|
print(url) |
|
|
play(url as URL) |
|
|
play(url as URL) |
|
|
player.playerLayer!.player!.volume = 0.0 |
|
|
|
|
|
|
|
|
// player.playerLayer!.player!.volume = 0.0 |
|
|
|
|
|
|
|
|
update() |
|
|
update() |
|
|
} |
|
|
} |
|
|
@ -179,16 +181,23 @@ class VideoController: UIViewController, ItemController, BMPlayerDelegate { |
|
|
VideoHelper.export(item: player.avPlayer!.currentItem!, clipStart: loopStart, clipDuration: dur, file: file) { url in |
|
|
VideoHelper.export(item: player.avPlayer!.currentItem!, clipStart: loopStart, clipDuration: dur, file: file) { url in |
|
|
self.showAlert(title: c.name, message: "saved") |
|
|
self.showAlert(title: c.name, message: "saved") |
|
|
} |
|
|
} |
|
|
var s = c; |
|
|
|
|
|
|
|
|
var s : MediaModel; |
|
|
if (c.type == ItemType.SNAPSHOT && c.parent != nil) { |
|
|
if (c.type == ItemType.SNAPSHOT && c.parent != nil) { |
|
|
s = c.parent! |
|
|
|
|
|
|
|
|
s = c.parent!.toMediaModel() |
|
|
|
|
|
let local = try Data(contentsOf: URL(string: c.thumbUrlAbsolute)!) |
|
|
|
|
|
let tfile = FileHelper.getDocumentsDirectory().appendingPathComponent(name).appendingPathComponent(s.name).appendingPathExtension("jpg") |
|
|
|
|
|
try local.write(to: tfile) |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
s = c.toMediaModel() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
let jfile = FileHelper.getDocumentsDirectory().appendingPathComponent(name).appendingPathComponent(c.name).appendingPathExtension("json") |
|
|
|
|
|
|
|
|
|
|
|
let json = s.toJSON() |
|
|
|
|
|
|
|
|
let jfile = FileHelper.getDocumentsDirectory().appendingPathComponent(name).appendingPathComponent(s.name).appendingPathExtension("json") |
|
|
|
|
|
let jsonEncoder = JSONEncoder() |
|
|
|
|
|
let jsonData = try! jsonEncoder.encode(s) |
|
|
|
|
|
let json = String(data: jsonData, encoding: String.Encoding.utf8) |
|
|
print(json) |
|
|
print(json) |
|
|
try json.write(to: jfile, atomically: true, encoding: .utf8) |
|
|
|
|
|
|
|
|
try json!.write(to: jfile, atomically: true, encoding: .utf8) |
|
|
} catch { |
|
|
} catch { |
|
|
print(error) |
|
|
print(error) |
|
|
} |
|
|
} |
|
|
@ -199,20 +208,14 @@ class VideoController: UIViewController, ItemController, BMPlayerDelegate { |
|
|
player.pause() |
|
|
player.pause() |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
|
|
|
if player.isPlayToTheEnd { |
|
|
|
|
|
player.seek(0, completion: {[weak self] in |
|
|
|
|
|
self!.player.play() |
|
|
|
|
|
}) |
|
|
|
|
|
player.isPlayToTheEnd = false |
|
|
|
|
|
} |
|
|
player.play() |
|
|
player.play() |
|
|
} |
|
|
} |
|
|
// if moviePlayer!.playbackState == MPMoviePlaybackState.playing { |
|
|
|
|
|
// moviePlayer!.pause() |
|
|
|
|
|
// } |
|
|
|
|
|
// else { |
|
|
|
|
|
// moviePlayer!.play() |
|
|
|
|
|
// |
|
|
|
|
|
// Timer.scheduledTimer(timeInterval: 0.5, |
|
|
|
|
|
// target: self, |
|
|
|
|
|
// selector: #selector(resumePlay), |
|
|
|
|
|
// userInfo: nil, |
|
|
|
|
|
// repeats: false) |
|
|
|
|
|
// } |
|
|
|
|
|
print("play") |
|
|
print("play") |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -300,12 +303,20 @@ print("play") |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
for i in allItems { |
|
|
for i in allItems { |
|
|
let r = BMPlayerResourceDefinition(url: i.playerURL!, definition: i.name); |
|
|
|
|
|
def.append(r) |
|
|
|
|
|
if (url == i.playerURL) { |
|
|
|
|
|
index = count |
|
|
|
|
|
|
|
|
if let a = urls { |
|
|
|
|
|
let r = BMPlayerCompositionResourceDefinition(url: i.playerURL!, definition: i.name) |
|
|
|
|
|
r.assets = a |
|
|
|
|
|
def.append(r) |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
|
|
|
|
|
|
let r = BMPlayerResourceDefinition(url: i.playerURL!, definition: i.name); |
|
|
|
|
|
def.append(r) |
|
|
|
|
|
if (url == i.playerURL) { |
|
|
|
|
|
index = count |
|
|
|
|
|
} |
|
|
|
|
|
count += 1 |
|
|
} |
|
|
} |
|
|
count += 1 |
|
|
|
|
|
} |
|
|
} |
|
|
let asset = BMPlayerResource(name: "video", definitions: def) |
|
|
let asset = BMPlayerResource(name: "video", definitions: def) |
|
|
// let asset = BMPlayerResource(url: url) |
|
|
// let asset = BMPlayerResource(url: url) |
|
|
|