Я пытаюсь воспроизвести видеопоток .m3u8 в своем приложении. Я программирую на Swift для iOS 9 и 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 Code = -11800 "Операция не может быть завершена" UserInfo = {NSLocalizedDescription = Операция не может быть завершена, NSUnderlyingError = 0x7b5b6810 {Домен ошибки = NSOSStatusErrorDomain Code = -12782 "(null)"}, NSLocalizedFailureReason = An произошла неизвестная ошибка (-12782)}
Помогите пожалуйста мне!
РЕДАКТИРОВАТЬ:
Пробовал это предложение безуспешно. приложение все равно вылетает. Сбой приводит меня к 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)
}
}