0

迅速に PBJVideoPlayer ポッドを使用する再生中のビデオに白黒効果を追加しようとしています。ユーザーがフィルターを適用するためにボタンをタップできるように設定しました。AVVIdeoComposition のアナログがポッドにどのようなものになるかわからないため、私の問題が発生したと思います。任意の洞察をいただければ幸いです。

@IBAction func filterTapped(sender: UIButton) {


    switch self.media! {
    case .Photo(let image): self.blackAndWhiteFilterForImage(image)

    case .Video(let url): self.createBlackAndWhiteFilterForVideo(url)

    }




}


func createBlackAndWhiteFilterForVideo(url: NSURL){

        //B&W Filter for Video

        let asset = AVAsset(URL: url)
        let filter = CIFilter(name: "CIPhotoEffectNoir")!
        let composition = AVVideoComposition(asset: asset, applyingCIFiltersWithHandler: { request in

            // Clamp to avoid blurring transparent pixels at the image edges
            let source = request.sourceImage.imageByClampingToExtent()
            filter.setValue(source, forKey: kCIInputImageKey)

            // Vary filter parameters based on video timing
            let seconds = CMTimeGetSeconds(request.compositionTime)
            filter.setValue(seconds * 10.0, forKey: kCIInputRadiusKey)

            // Crop the blurred output to the bounds of the original image
            let output = filter.outputImage!.imageByCroppingToRect(request.sourceImage.extent)

            // Provide the filter output to the composition
            request.finishWithImage(output, context: nil)


        })
       //Everything below this code is where I am unsure how to proceed 
        let playerItem = playerController.asset
    print(playerItem)

    /*

        playerItem.comp

        let player = AVPlayer(playerItem: playerItem)


        player.play()

    */


}
4

1 に答える 1