草庐IT

avassetresourceloaderdelegate

全部标签

ios - AVAssetResourceLoaderDelegate 和 HLS 不起作用?

对我来说,它不能在模拟器和真实设备(iPhone5S)上使用“m3u8”url。同时,Appledemo运行良好,但我看不出有什么不同。对于其他url扩展也可以(例如,url末尾的“m3u9”)importUIKitimportAVKitimportAVFoundationclassViewController:UIViewController,AVAssetResourceLoaderDelegate{overridefuncviewDidLoad(){super.viewDidLoad()//ifIchangem3u8todifferentfileextension,it'swor

ios - AVAssetResourceLoaderDelegate 方法覆盖 loadingRequest

在播放解密的HLS视频时,我使用GCDServer来托管m3u8文件,当我在m3u8文件中使用一组解密的block时,它播放得很好,但是当我使用解密的一个并尝试解密key和block时,它是不在那里玩。由于未使用http方案调用AVAssetResourceLoaderDelegate方法,如果我使用自定义方案,则GCDServer完成加载。有什么建议吗?我们可以将加载请求覆盖回http吗?如果是那么如何。如何从保存的部分获取m3u8文件和.key文件的内容,在此我想通知您NSBundle.mainBundle不适用于.key、m3u8、m3u和其他播放列表文件。尝试了一些但没有成功。

ios - iOS 6 上的 AVAssetResourceLoaderDelegate 协议(protocol)

我已经设法让AVPlayer与AVAssetResourceLoaderDelegate一起在iOS7上播放m4a文件,但我无法在iOS上执行此操作6。-(BOOL)resourceLoader:(AVAssetResourceLoader*)resourceLoadershouldWaitForLoadingOfRequestedResource:(AVAssetResourceLoadingRequest*)loadingRequest委托(delegate)方法被以下请求调用:2014-05-1215:14:58.798AVPlayer-Delegate[661:1103]Req

ios - Fairplay 在 iOS 12.4 和 13 上停止工作

我有代码可以从我的应用程序播放加密的Fairplay流,它在iOS12.4之前运行良好。我使用AVAssetResourceLoaderDelegate从resourceLoader:shouldWaitForLoadingOfRequestedResource:获取AVAssetResourceLoadingRequest,然后从请求中提取SPC并发出http请求以获取CKC。但在新的iOS12.4上,加载请求一直在取消,resourceLoader:didCancelLoadingRequest:在resourceLoader:shouldWaitForLoadingOfReque

ios - AVAssetResourceLoaderDelegate 方法在设备上不起作用

我一直在研究一个简单的AVPlayer来播放加密的HLS媒体。我正在使用AVAssetResourceLoaderDelegate来处理key检索过程,以便可以使用有效key播放加密媒体。该程序在模拟器上运行完美,但在设备上根本无法运行。代码如下:-(void)playUrlByAVPlayer:(NSString*)videoUrl{NSURL*streamURL=[NSURLURLWithString:videoUrl];AVURLAsset*asset=[AVURLAssetURLAssetWithURL:streamURLoptions:nil];[asset.resource

ios - 未调用 AVAssetResourceLoaderDelegate

我一直在尝试通过AVAssetResourceLoaderDelegate协议(protocol)返回一些消息,但它似乎从未被调用过。我已经确认一切都在主线程上发生;从创建AVURLAsset,创建AVPlayerItem,创建委托(delegate),委托(delegate)队列设置到主线程。我正在尝试流式传输网络托管的MP4内容和未加密的HLS内容。我的声明:@property(readwrite,strong)AVPlayer*player;@property(strong)AVPlayerItem*playerItem;@property(strong)idresourceLo

ios - AVAssetResourceLoaderDelegate - 只请求前两个字节?

我正在实现一个AVAssetResourceLoaderDelegate,但我在正确运行时遇到了一些麻烦。我的目标是拦截AVPlayer发出的任何请求,自己发出请求,将数据写入文件,然后用文件数据响应AVPlayer。我遇到的问题:我可以拦截第一个请求,它只要求两个字节,然后响应它。之后,我的AVAssetResourceLoaderDelegate不再收到任何请求。当我从AVPlayer拦截第一个AVAssetResourceLoadingRequest时,它看起来像这样:{URL:fakeHttp://blah.com/blah/blah.mp3},requestID=1,cont

ios - 如何将自定义 HTTP header 添加到 AVAssetResourceLoaderDelegate 加载请求中

加载AVURLAsset时,我需要将自定义HTTPheader添加到媒体加载请求中,来自AVAssetResourceLoaderDelegate的resourceLoader(:shouldWaitForLoadingOfRequestedResource:).AVAssetResourceLoadingRequest的request是一个不可变的属性,所以调用addValue(...)这是不可能的。有一个redirect在AVAssetResourceLoadingRequest上请求属性(property),理论上可以用作原始请求加上必要的header,但它似乎没有任何效果(即发

ios - 有谁知道如何正确实现 AVAssetResourceLoaderDelegate 方法?

我正在尝试诱导AVFoundation从自定义URL读取。自定义URL东西有效。下面的代码创建了一个带有电影文件的NSData:NSData*movieData=[NSDatadataWithContentsOfURL:@"memory://video"];我使用以下代码设置了一个AVAssetResourceLoader对象:NSURL*url=[NSURLURLWithString:@"memory://video"];AVURLAsset*asset=[[AVURLAssetalloc]initWithURL:urloptions:nil];AVAssetResourceLoad