Fix playback
This commit is contained in:
parent
b4dcfcc425
commit
4e5a810047
|
@ -158,12 +158,21 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
|
||||||
|
|
||||||
//View has loaded.
|
//View has loaded.
|
||||||
//Show loading screen
|
//Show loading screen
|
||||||
usleep(10000);
|
|
||||||
delegate?.showLoadingView(self)
|
delegate?.showLoadingView(self)
|
||||||
|
|
||||||
mediaPlayer.perform(Selector(("setTextRendererFontSize:")), with: 14)
|
mediaPlayer.perform(Selector(("setTextRendererFontSize:")), with: 14)
|
||||||
//mediaPlayer.wrappedValue.perform(Selector(("setTextRendererFont:")), with: "Copperplate")
|
//mediaPlayer.wrappedValue.perform(Selector(("setTextRendererFont:")), with: "Copperplate")
|
||||||
|
|
||||||
|
|
||||||
|
mediaPlayer.delegate = self
|
||||||
|
mediaPlayer.drawable = videoContentView
|
||||||
|
|
||||||
|
if(manifest.Type == "Episode") {
|
||||||
|
titleLabel.text = "\(manifest.Name) - S\(String(manifest.ParentIndexNumber ?? 0)):E\(String(manifest.IndexNumber ?? 0)) - \(manifest.SeriesName ?? "")"
|
||||||
|
} else {
|
||||||
|
titleLabel.text = manifest.Name
|
||||||
|
}
|
||||||
|
|
||||||
//Fetch max bitrate from UserDefaults depending on current connection mode
|
//Fetch max bitrate from UserDefaults depending on current connection mode
|
||||||
let defaults = UserDefaults.standard
|
let defaults = UserDefaults.standard
|
||||||
let maxBitrate = globalData.isInNetwork ? defaults.integer(forKey: "InNetworkBandwidth") : defaults.integer(forKey: "OutOfNetworkBandwidth")
|
let maxBitrate = globalData.isInNetwork ? defaults.integer(forKey: "InNetworkBandwidth") : defaults.integer(forKey: "OutOfNetworkBandwidth")
|
||||||
|
@ -258,8 +267,9 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
|
||||||
sendPlayReport()
|
sendPlayReport()
|
||||||
playbackItem = item;
|
playbackItem = item;
|
||||||
}
|
}
|
||||||
mediaPlayer.stop()
|
|
||||||
DispatchQueue.global(qos: .background).async {
|
DispatchQueue.global(qos: .background).async {
|
||||||
|
mediaPlayer.media = VLCMedia(url: playbackItem.videoUrl)
|
||||||
mediaPlayer.play()
|
mediaPlayer.play()
|
||||||
subtitleTrackArray.forEach() { sub in
|
subtitleTrackArray.forEach() { sub in
|
||||||
if(sub.id != -1 && sub.delivery == "External" && sub.codec != "subrip") {
|
if(sub.id != -1 && sub.delivery == "External" && sub.codec != "subrip") {
|
||||||
|
@ -267,13 +277,11 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
|
||||||
mediaPlayer.addPlaybackSlave(sub.url, type: .subtitle, enforce: false)
|
mediaPlayer.addPlaybackSlave(sub.url, type: .subtitle, enforce: false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mediaPlayer.pause()
|
||||||
|
delegate?.showLoadingView(self)
|
||||||
sleep(3)
|
sleep(3)
|
||||||
mediaPlayer.pause()
|
mediaPlayer.pause()
|
||||||
usleep(10000);
|
|
||||||
mediaPlayer.play()
|
|
||||||
mediaPlayer.currentVideoSubTitleIndex = selectedCaptionTrack;
|
mediaPlayer.currentVideoSubTitleIndex = selectedCaptionTrack;
|
||||||
mediaPlayer.pause()
|
|
||||||
usleep(10000);
|
|
||||||
mediaPlayer.play()
|
mediaPlayer.play()
|
||||||
mediaPlayer.jumpForward(Int32(manifest.Progress/10000000))
|
mediaPlayer.jumpForward(Int32(manifest.Progress/10000000))
|
||||||
}
|
}
|
||||||
|
@ -286,15 +294,6 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mediaPlayer.delegate = self
|
|
||||||
mediaPlayer.drawable = videoContentView
|
|
||||||
|
|
||||||
if(manifest.Type == "Episode") {
|
|
||||||
titleLabel.text = "\(manifest.Name) - S\(String(manifest.ParentIndexNumber ?? 0)):E\(String(manifest.IndexNumber ?? 0)) - \(manifest.SeriesName ?? "")"
|
|
||||||
} else {
|
|
||||||
titleLabel.text = manifest.Name
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewWillAppear(_ animated: Bool) {
|
override func viewWillAppear(_ animated: Bool) {
|
||||||
|
@ -308,11 +307,9 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
|
||||||
let currentState: VLCMediaPlayerState = mediaPlayer.state
|
let currentState: VLCMediaPlayerState = mediaPlayer.state
|
||||||
switch currentState {
|
switch currentState {
|
||||||
case .stopped :
|
case .stopped :
|
||||||
print("Video is done playing)")
|
break;
|
||||||
sendStopReport()
|
|
||||||
case .ended :
|
case .ended :
|
||||||
print("Video is done playing)")
|
break;
|
||||||
sendStopReport()
|
|
||||||
case .playing :
|
case .playing :
|
||||||
print("Video is playing")
|
print("Video is playing")
|
||||||
sendProgressReport(eventName: "unpause")
|
sendProgressReport(eventName: "unpause")
|
||||||
|
|
Loading…
Reference in New Issue