dan*_*anh 0 iphone mpmovieplayercontroller ios
我像这样建立电影播放器......
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:url];
player.view.frame = myView.bounds;
player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[player prepareToPlay];
[myView addSubview:player.view];
self.mp = player;
Run Code Online (Sandbox Code Playgroud)
该url指向m3u8网络流.它打得很好.然后我要求这样的图像......
NSTimeInterval currentInterval = self.mp.currentPlaybackTime;
UIImage *image = [self.mp thumbnailImageAtTime:currentInterval timeOption:MPMovieTimeOptionExact];
Run Code Online (Sandbox Code Playgroud)
我已经尝试将currentInterval支持一秒钟.我已经尝试了两种时间选项(精确和关键帧),但图像总是为零.知道为什么吗?谢谢.
我的理解是MPMoviePlayerController缩略图方法不适用于HTTP直播流(HLS)流; 仅适用于文件.不幸的是,我找不到这方面的权威参考,尽管我在过去几周看到或读过它.我自己也有同样的经历.
也就是说,可以使用生成HLS流的缩略图AVAssetImageGenerator.
编辑:
我刚刚AVAssetImageGenerator对常规HTTP文件进行了测试,并且通过HLS访问了相同的文件.它能够从HTTP生成缩略图,但对于HLS版本,AVAssetImageGenerator返回了以下错误:
NSLocalizedFailureReason =此媒体不支持该操作.
因此,总而言之,看起来HTTP Live Streaming不支持创建缩略图.如果您的情况允许,您可以在服务器上生成缩略图,使其可用作Web服务,然后从客户端的服务器请求它们.
| 归档时间: |
|
| 查看次数: |
2294 次 |
| 最近记录: |