问题描述
在我的Xamarin.Forms项目中,我使用依赖项注入在.iOS项目中调用一个方法,以便检索用户刚刚录制的视频的缩略图。
从我的Xamarin.Forms项目调用:
byte[] thumbnailBytes = DependencyService.Get<IMediaMetaData>().ReturnVidThumbnailBytes(vid.Path);
public class MediaMetaData : IMediaMetaData
{
public byte[] ReturnVidThumbnailBytes(string videoFilePath)
{
// videoFilePath example =
// /var/mobile/Containers/Data/Application/3E84C0D0-F590-4AAF-89E7-7D3BFC023E6B/Documents/temp/trim_160491789522565DC08BE-862C-4EE0-A135-BCD9236C6874.mov
//Take local url and create an AVAsset
AVAsset asset = AVAsset.FromUrl(new NSUrl(videoFilePath));
AVAssetimageGenerator assetimageGenerator = AVAssetimageGenerator.FromAsset(asset);
// Total duration of asset
CMTime actualTime = asset.Duration;
// 1/60 = 60th of a second
CMTime cmTime = new CMTime(1,10);
NSError error;
var imageRef = assetimageGenerator.copyCGImageAtTime(cmTime,out actualTime,out error);
if (imageRef == null)
return null;
var image = UIImage.FromImage(imageRef);
return image.AsJPEG().ToArray();
}
}
问题:
copyCGImageAtTime始终返回null。我检查NSError并得到以下信息:
Class Handle =无法将类型为“ Mono.Debugger.soft.PointerValue”的对象转换为类型为“ Mono.Debugger.soft.PrimitiveValue”
code = -11850
本地化失败原因=服务器配置不正确(但是,这是我正在此处访问的本地文件...?)
我无法找到有关类句柄错误的任何有用信息,并且本地化失败原因会引起尝试访问Web服务(而非本地存储)视频的人员的线程。任何人都对我遇到的问题有经验吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)