Cordova 相机插件返回绿色图片 Windows Phone 8.1

Posted

技术标签:

【中文标题】Cordova 相机插件返回绿色图片 Windows Phone 8.1【英文标题】:Cordova Camera Plugin returns green pictures Windows Phone 8.1 【发布时间】:2015-05-23 19:26:02 【问题描述】:

非常奇怪的行为:使用 cordova 相机插件拍摄第二张或第三张图片后,返回的图片是绿色的,大约 200kb,而通常大约 2mb。当拍摄更多“绿色”照片时,应用程序崩溃并且默认相机屏幕变为绿色,直到手机重新启动。

尝试了不同的参数,比如获取 url 而不是 base64,不同的图片大小 - 没有运气。

这是在诺基亚 Lumia 520 上复制的,但 Microsoft Lumia 535 允许拍摄大约 6 张照片。虽然 android 工作正常。

代码如下:

navigator.camera.getPicture(onSuccess, onFail, 
    quality: 50,
    destinationType: Camera.DestinationType.DATA_URL,
    encodingType: Camera.EncodingType.JPEG,
    sourceType : Camera.PictureSourceType.CAMERA
);

尝试使用捕获插件结果是一样的。

【问题讨论】:

从手机获取错误转储显示:异常代码 0xC0000194(非常有意义的消息)。 Dev windows phone 说:“0xC0000194 NonResponsiveProcess 进程由于未知原因变得无响应。” 我也在使用诺基亚 Lumia 520。硬重置您的手机可以快速解决此问题。我认为没有办法阻止这种情况。即使升级到 cordova-camera 2.0.0 这个问题有时仍然会发生。可能是过热了。 【参考方案1】:

你可以试试这个:

camera: 
    pictureSource: "UNDEFINED",
    destinationType: "UNDEFINED",
    cameraInitialize: function () 
        pictureSource = navigator.camera.PictureSourceType;
        destinationType = navigator.camera.DestinationType;
        cameraOptions =  quality: 50, allowEdit: true, destinationType: destinationType.DATA_URL, correctOrientation: true 
        galleryOptions =  quality: 50, destinationType: destinationType.DATA_URL, sourceType: pictureSource.PHOTOLIBRARY 
    ,
    getPicture: function (cameraSuccess, cameraError, cameraOptions) 
        navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions);
    
,

【讨论】:

感谢您的帮助。没有运气。【参考方案2】:

对我来说,到目前为止(根据微软支持)唯一的解决方案是硬重置您的手机。 我有一个运行 windows phone 8.1 的古老 Lumia,它在我的应用程序中遇到了同样的问题。

我实际上认为设备过热。

您还应该采取一些措施来帮助避免 WP 应用中出现相机问题:

假设你使用cordova,检查视频对象是否有最大值 z-index 并检查它是否没有堆叠在您的应用程序下。 如果您还使用 Angular,某些按钮类型会在 IE 上触发 ng-click 两次,因此相机会打开两次。 实施 cordova-camera-plugin 2.0.0 修复了类似的问题 双击相机并使其崩溃

我希望这对你痛苦的任务有所帮助。

【讨论】:

以上是关于Cordova 相机插件返回绿色图片 Windows Phone 8.1的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 如何从相机旋转图片

Cordova 相机 - 无法访问库

Cordova 相机插件 IOS 11 无法从库中选择图像

如何显示 Cordova PhotoLibrary 返回的图像?

Cordova各个插件使用介绍系列—$cordovaImagePicker从手机图库选择多张图片

Cordova 相机插件