Я пытаюсь загрузить потоки HLS в приложении iOS. Ниже приведены шаги, которые я выполнил.
- Перед тем, как дать URL AVPlayer, я изменил схему URL с некоторым пользовательским значением. Например: http://sample.m3u8 будет фактическим URL-адресом, и я изменю его на xyz http://sample.m3u8
- AVPlayer не сможет загрузить URL-адрес и предоставит нам элемент управления для загрузки файла. Мы получим управление в делегированных функциях AVAssetResourceLoader.
- Там мы скачаем файл m3u8, изменим схему URL для транспортных потоков [ts] и вернем его проигрывателю.
- Там я получу обратный вызов для транспортного потока, я смогполучил транспортный поток, используя URLSessionDataTask, и смог передать его обратно в запрос на загрузку
- Но после этого я не получаю никаких других вызовов, так как проигрыватель не запускает воспроизведение
Я получаю запрос AVAssetResourceLoading, подобный этому
'' 'AVAssetResourceLoadingRequest: 0x600000b4ba40, запрос URL = NSMutableURLRequest: 0x600000b5cc80 {URL: xyz https://sample.m3u8}, запрос ID = 2, запрос информационного контента 0B0Ob0: Consent Content0B0Rec: Re0B0Rec: Re0. type = "(null)", длина содержимого = 0, доступ к диапазону байтов поддерживается = NO, разрешено кэширование на диске = YES, дата обновления = (null)>, запрос данных = AVAssetResourceLoadingDataRequest: 0x600000b40ec0, запрошенное смещение = 0, запрошенная длина = 9223372036854775807, Запросы все данные до конца ресурса = ДА, текущее смещение = 0 '' '