- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
文档中提到了 AVURLAsset.resourceLoader:
During loading, the resource loader object may be asked to assist in the loading of a resource. For example, a resource that requires decryption might result in the resource loader being asked to provide the appropriate decryption keys. You can assign a delegate object to the resource loader object and use your delegate to intercept these requests and provide an appropriate response.
所以我想在我的代码中做的是:
NSURL* url = ...;
_asset = [[AVURLAsset alloc] initWithURL:url options:nil];
AVAssetResourceLoader* loader = _asset.resourceLoader;
[loader setDelegate:self queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];
_playerItem = [AVPlayerItem playerItemWithAsset:_asset];
_player = [AVPlayer playerWithPlayerItem:_playerItem];
// ... setting up the player layer
[_player play];
而且在我的类(class)中,我将 AVAssetResourceLoaderDelegate 添加到 @interface 中并实现了方法:
- (BOOL)resourceLoader:(AVAssetResourceLoader *)resourceLoader shouldWaitForLoadingOfRequestedResource:(AVAssetResourceLoadingRequest *)loadingRequest
{
NSLog(@"YES");
return YES;
}
无论传递什么 URL,都不会调用此方法。如果 URL 是通过 HTTP 或使用我自定义注册的 NSURLProtocol 的有效媒体,则无关紧要。
resourceLoader 应该什么时候调用它的委托(delegate)?
最佳答案
您应该尝试使用自定义 URL 方案,例如:使用 my_custom_scheme://myserver.com/listen.m3u 而不是
。默认情况下,HTTP 和 HTTPS 由 Apple 处理,因此不会调用委托(delegate)。要绕过这一点,您需要使用自定义方案来强制调用委托(delegate)方法。http://myserver.com/listen.m3u
关于ios - 如何使用 AVAssetResourceLoader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18205588/
文档中提到了 AVURLAsset.resourceLoader: During loading, the resource loader object may be asked to assist
我正在尝试编写自定义 resourceLoader 委托(delegate)来使用 AVURLAsset。我从 Apple 的 AVARLDelegateDemo 代码开始。我正在尝试播放 HLS 网
我一直在尝试实现 AVAssetResourceLoaderDelegate 但到目前为止一直无法成功设置委托(delegate),导致我的委托(delegate)代码永远不会被调用。 考虑一下: A
我正在尝试使用 AVAssetResourceLoader 从 URL 流式传输一个小音频剪辑,但是当我尝试在控制台中打印它时,我可以看到正确识别的 mime 类型和内容。但是,它没有播放音频。有人可
出于与我的问题无关的原因,我必须使用自定义 AVAssetResourceLoader 实现 AVPlayer 播放 AVURLAssets。总的来说,我的实现效果很好,但是当尝试通过 AirPlay
我是一名优秀的程序员,十分优秀!