0
私はSwiftを使ってサーバーからビデオを再生しようとしています。DBからのiOS-ビデオストリーミングは非常に遅いです。どうすればそれをより速くロードすることができますか?
私はAVKitとAVFoundationフレームワークをインポートした、ここに私のコードは次のとおりです。
import UIKit
import AVKit
import AVFoundation
class SongViewController: UIViewController, SendInfoDelegate {
let keyPathLoadedTimeRanges = "currentItem.loadedTimeRanges"
var songInfo : Dictionary<String, Any>!
var player : AVPlayer!
var previousVC : UIViewController!
let movie = AVPlayerViewController()
.....
override func viewWillDisappear(_ animated: Bool) {
player.pause()
movie.player = nil
movie.removeFromParentViewController()
self.removeFromParentViewController()
}
override func viewDidAppear(_ animated: Bool) {
view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
....
func loadVideo (videoURL: String) {
//Load video in Avplayer
let movieurl : URL = URL(string: videoURL)!
movie.view.frame = videoContainerView.bounds
player = AVPlayer(url: movieurl)
movie.player = player
self.addChildViewController(movie)
videoContainerView.addSubview(movie.view)
player.play()
player.addObserver(self, forKeyPath: keyPathLoadedTimeRanges, options: .new, context: nil)
controllsContainerView.frame = videoContainerView.frame
videoContainerView.addSubview(controllsContainerView)
controllsContainerView.addSubview(activityIndicatorView)
activityIndicatorView.centerXAnchor.constraint(equalTo: videoContainerView.centerXAnchor).isActive = true
activityIndicatorView.centerYAnchor.constraint(equalTo: videoContainerView.centerYAnchor).isActive = true
}
今それのためのビデオの再生を開始するまでに8〜15秒かかります。私は積み込み時間を延ばす必要があります。 ウェブサイトでは、ビデオは3秒後に再生を開始します。