私のアプリで再生するために.m3u8ビデオストリームを取得しようとしています。私は、iOS 9のためにスウィフトでプログラミング午前10ここHLS && .m3u8in iOS 10
は、私がこれまでに得たものである:
import UIKit
import AVKit
import AVFoundation
import DynamicBlurView
class VideoPlayerViewController: AVPlayerViewController {
var urlString: String!
let blurView = DynamicBlurView()
override func viewDidLoad() {
super.viewDidLoad()
streamVideo()
}
func streamVideo() {
blurView.frame = view.frame
UIView.showProgressView(on: view, blurView: blurView)
let url = URL(string: urlString!)
let item = AVPlayerItem(url: url!)
player = AVPlayer(playerItem: item)
UIView.hideProgressView(on: view, blurView: blurView)
player?.play()
}
}
これはシンプルにする必要がありますが、私はエラーを取得し、あらゆる場所にクラッシュしています。
これは私が取得していますエラーです:
エラードメイン= AVFoundationErrorDomainコード= -11800でのUserInfoが= {NSLocalizedDescriptionは=操作が NSUnderlyingError =、完了できませんでした "操作が 完了できませんでした" 0x7b5b6810は{エラー ドメイン= NSOSStatusErrorDomainコード= -12782 "(ヌル)が"}、 NSLocalizedFailureReasonは不明なエラーが発生した=(-12782)}
私を助けてください!
EDIT:
は運でこの提案をしようとしました。アプリはまだクラッシュします。その情報が誰にでも役立つなら、クラッシュはAppDelegateに私を連れて行きます。
import UIKit
import AVKit
import AVFoundation
import DynamicBlurView
class VideoPlayerViewController: AVPlayerViewController {
var urlString: String!
let blurView = DynamicBlurView()
override func viewDidLoad() {
super.viewDidLoad()
streamVideo()
}
func streamVideo() {
blurView.frame = view.frame
UIView.showProgressView(on: view, blurView: blurView)
let sampleURL = "https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8"
guard let url = URL(string: sampleURL) else { return }
let playerItem = AVPlayerItem(url: url)
player = AVPlayer(playerItem: playerItem)
player?.play()
UIView.hideProgressView(on: view, blurView: blurView)
}
}