Я работал с этим кодом, и единственное, что мне не удалось сделать, - это добавить фоновый звук (когда пользователь закрывает приложение), а также функцию трансляции. Я включил это и могу подтвердить, что мой Plist настроен правильно.
@IBOutlet weak var videoView: UIView!
var player: AVPlayer!
var avpController = AVPlayerViewController()
.
let url = URL(string:"http://ad.mysisli.com/live/13thstudiomedia/index.m3u8?playsinline=1")
player = AVPlayer(url: url!)
avpController.player = player
avpController.view.frame.size.height = videoView.frame.size.height
avpController.view.frame.size.width = videoView.frame.size.width
self.videoView.addSubview(avpController.view)
если следовать документам Apple ЗДЕСЬ , можно подумать, что вам не придется адаптировать код ... также объясняет, почему у меня возникают проблемы с поиском решения.
Редактировать / обновление:
Добавление следующего приводит к следующей ошибке:
func applicationDidEnterBackground(_ application: UIApplication) {
// Disconnect the AVPlayer from the presentation when entering background
// If presenting video with AVPlayerViewController
avpController.player = nil
// If presenting video with AVPlayerLayer
avpController.player = nil
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Reconnect the AVPlayer to the presentation when returning to foreground
// If presenting video with AVPlayerViewController
avpController.player = player
// If presenting video with AVPlayerLayer
avpController.player = player
}
[12877: 3303112] [MediaRemote] [MRPlaybackQueueServiceClient]
воспроизведениеQueueRequest A90E8F11-CBD7-47AB-A620-6BFF638CA449
SpringBoard-8677 / M / R [0: 2] / ID (2): (
"3C24A9B6-093C-4320-AFC8-B518DB725A55",
«38B11CAC-E913-4FC6-A41B-15EE8B47D4C0») ответил на запрос актива с ошибкой Ошибка Domain = kMRMediaRemoteFrameworkErrorDomain
Code = 15 "Операция требует, чтобы источник данных клиента был
зарегистрирован. "UserInfo = {NSLocalizedDescription = Операция требует
клиентский источник данных должен быть зарегистрирован.}