Javascript 将AVVideoComposition初始值设定项转换为Nativescript
正在寻找有关将此objective-c类方法移植到JS/nativescript的帮助。。我尝试过的每一个变体都会导致一个类型错误:undefined不是一个函数 我试着用JS将其写成: const videoComp=AVVideoComposition.alloc.initWithAssetApplyingCifilterWithHandlerAsset,请求=>{…}; //或 const videoComp=AVVideoComposition.alloc.initAssetApplyingCifilterWithHandlerAsset,请求=>{…}; //或 const videoComp=AVVideoComposition.alloc.initAssetApplyingCifilterWithHandlerApplicationSet,请求=>{…}; //或 const videoComp=新的AVVideoCompositionasset,请求=>{…}; 举几个例子。实际上,我正在尝试将此代码移植到nativescript/JS:Javascript 将AVVideoComposition初始值设定项转换为Nativescript,javascript,objective-c,nativescript,Javascript,Objective C,Nativescript,正在寻找有关将此objective-c类方法移植到JS/nativescript的帮助。。我尝试过的每一个变体都会导致一个类型错误:undefined不是一个函数 我试着用JS将其写成: const videoComp=AVVideoComposition.alloc.initWithAssetApplyingCifilterWithHandlerAsset,请求=>{…}; //或 const videoComp=AVVideoComposition.alloc.initAssetApplyi
let blurRadius = 6.0
let asset = AVAsset(url: streamURL)
let item = AVPlayerItem(asset: asset)
item.videoComposition= AVVideoComposition(asset: asset) { request in
let blurred = request.sourceImage.clampedToExtent().applyingGaussianBlur(sigma: blurRadius)
let output = blurred.clampedToRect(request.sourceImage.extent)
request.finish(with: output, context: nil)
}
在这篇博文中可以找到:它在JavaScript/Typescript中应该是这样的
let blurRadius = 6.0;
let asset = AVAsset.assetWithURL(streamURL);
let item = AVPlayerItem.alloc().initWithAsset(asset);
item.videoComposition = AVVideoComposition.videoCompositionWithAssetApplyingCIFiltersWithHandler(asset, request => {
let blurred = request.sourceImage.imageByClampingToExtent().imageByApplyingGaussianBlurWithSigma(blurRadius);
let output = blurred.imageByClampingToRect(request.sourceImage.extent);
request.finishWithImageContext(output, null);
});
注意:代码未经测试,只是给定本机代码的翻译。利用智能感知支持。这看起来很有效,谢谢!我犯的主要错误似乎是在转换API时遵循了苹果的Swift文档,而不是nativescript支持的Objective-C文档。