小编Cha*_*ock的帖子

如何检测MPMediaItem是否代表iOS上受DRM保护的音轨

我想知道代表音乐曲目的MPMediaItem是否适用于受Fairplay/DRM保护的项目.有什么办法吗?

iphone drm mpmediaitem

19
推荐指数
3
解决办法
1万
查看次数

如何在AVVideoComposition的applyCIFiltersWithHandler中触发重绘过滤器?

我正在使用Swift在视图的AVPlayerLayer中显示来自AVPlayer的内容.关联的AVPlayerItem有一个videoComposition,并且用于创建它的代码的略微简化版本(没有错误检查等)如下所示:

playerItem.videoComposition = AVVideoComposition(asset: someAsset, applyingCIFiltersWithHandler: {
                [unowned self] (request: AVAsynchronousCIImageFilteringRequest) in

    let paramDict = << set up parameter dictionary based on class vars >>

    // filter the image
    let filter = self.ciFilterWithParamDict(paramDict) {
    filter.setValue(request.sourceImage, forKey: kCIInputImageKey)
    if let filteredImage = filter.outputImage {
        request.finishWithImage(filteredImage, context: nil)
    }
})
Run Code Online (Sandbox Code Playgroud)

当AVPlayer正在播放或寻找时,这一切都按预期工作.如果创建并加载了新的videoComposition,则会正确呈现AVPlayerLayer.

但是,当我更改了用于计算滤波器参数的一些值时,我还没有找到一种方法来"触发"AVPlayer/AVPlayerItem/AVVideoComposition重新渲染.如果我更改值然后播放或搜索,则会正确呈现,但仅限于我玩或寻找.有没有办法触发"就地"渲染?

ios avplayer avvideocomposition cifilter swift

8
推荐指数
2
解决办法
974
查看次数

标签 统计

avplayer ×1

avvideocomposition ×1

cifilter ×1

drm ×1

ios ×1

iphone ×1

mpmediaitem ×1

swift ×1