[
https://issues.apache.org/jira/browse/CB-8879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14542404#comment-14542404
]
ASF GitHub Bot commented on CB-8879:
------------------------------------
Github user muratsu commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-camera/pull/94#discussion_r30262108
--- Diff: src/windows/CameraProxy.js ---
@@ -337,28 +336,48 @@ function takePictureFromCameraWP(successCallback,
errorCallback, args) {
}
});
- capture.initializeAsync(captureSettings).done(function () {
- //
msdn.microsoft.com/en-us/library/windows/apps/hh452807.aspx
- capturePreview.msZoom = true;
- capturePreview.src = URL.createObjectURL(capture);
- capturePreview.play();
+ captureSettings.photoCaptureSource =
Windows.Media.Capture.PhotoCaptureSource.photo;
- // Insert preview frame and controls into page
- document.body.appendChild(capturePreview);
- document.body.appendChild(captureCancelButton);
+ return capture.initializeAsync(captureSettings);
+ }).then(function () {
+ // msdn.microsoft.com/en-us/library/windows/apps/hh452807.aspx
+ capturePreview.msZoom = true;
+ capturePreview.src = URL.createObjectURL(capture);
+ capturePreview.play();
- // Bind events to controls
- window.addEventListener('deviceorientation',
cameraPreviewOrientation, false);
- capturePreview.addEventListener('click', captureAction);
- captureCancelButton.addEventListener('click', function () {
- destroyCameraPreview();
- errorCallback('Cancelled');
- }, false);
- }, function (err) {
+ // Insert preview frame and controls into page
+ document.body.appendChild(capturePreview);
+ document.body.appendChild(captureCancelButton);
+
+ // Bind events to controls
+ window.addEventListener('deviceorientation',
cameraPreviewOrientation, false);
+ capturePreview.addEventListener('click', captureAction);
+ captureCancelButton.addEventListener('click', function () {
destroyCameraPreview();
- errorCallback('Camera intitialization error ' + err);
- });
- }, errorCallback);
+ errorCallback('Cancelled');
+ }, false);
+
+ // Get available aspect ratios
+ var aspectRatios = getAspectRatios(capture);
+
+ // Couldn't find a good ratio
+ if (aspectRatios.length === 0) {
+ destroyCameraPreview();
+ errorCallback('There\'s not a good aspect ratio
available');
+ return;
+ }
+
+ // Default aspect ratio 1.78 (16:9 hd video standard)
+ if (aspectRatios.indexOf("1.8") > -1) {
--- End diff --
i need to add jshint later to this repo
> [Windows] Camera picture has black/green stripes that crop image
> ----------------------------------------------------------------
>
> Key: CB-8879
> URL: https://issues.apache.org/jira/browse/CB-8879
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Camera
> Affects Versions: 3.6.0
> Environment: windows
> Reporter: Olivier VERMONT
> Assignee: Murat Sutunc
> Labels: camera, resolution, stripes, windows-phone-81
>
> When a photo is taken with Windows Phone 8.1 device Nokia Lumia 735, the
> picture returned shows black or green stripes on the sides and is out of
> shape. It seems this is related to photo resolution but I can't get it fixed
> in JS.
> It seems to be quite a common problem with the Media Capture API and people
> solved issue in C# here is an illustration :
> http://stackoverflow.com/questions/23709547/captured-photo-with-stripes
> Here is what I tried without success :
> var resolutions =
> capture.videoDeviceController.getAvailableMediaStreamProperties(Windows.Media.Capture.MediaStreamType.photo);
> var maxWidth = 0;
> var maxResolution = null;
> for(var i=0; i<resolutions.length; i++){
> //console.log(resolutions[i].width);
> if(resolutions[i].width > maxResolution){
> maxWidth = resolutions[i].width;
> maxResolution = resolutions[i];
> }
> }
> capture.videoDeviceController.setMediaStreamPropertiesAsync(Windows.Media.Capture.MediaStreamType.photo,
> maxResolution)
> Am I missing something ?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]