Domanda

How can I force the Capture manager to use the back camera, since I can't use CameraCaptureUI in windows phone 8.1.

The app launches the default front camera.

This is my code:

function initCaptureSettings() {
    captureInitSettings = null;
    captureInitSettings =
        new Windows.Media.Capture.MediaCaptureInitializationSettings();
    captureInitSettings.photoCaptureSource = Windows.Media.Capture.PhotoCaptureSource.photo;
    captureInitSettings.streamingCaptureMode =
        Windows.Media.Capture.StreamingCaptureMode.audioAndVideo;
    startDevice();
}


function startDevice() {
    Debug.writeln("Starting device");
    releaseMediaCapture();
    mediaCaptureMgr = new Windows.Media.Capture.MediaCapture();
    mediaCaptureMgr.initializeAsync(captureInitSettings).done(function (result) {

        // do we have a camera and a microphone present?
        if (mediaCaptureMgr.mediaCaptureSettings.videoDeviceId && mediaCaptureMgr.mediaCaptureSettings.audioDeviceId) {

            // Update the UI
            Debug.writeln("Device started");


        } else {
            Debug.writeln("No capture device was found");

        }
        startPreview();
    }, errorHandler);
}

function startPreview() {
    Debug.writeln("Starting preview");

    try {
        var video = id("photoCapture");
        //Windows.Media.Capture.CameraOptionsUI.show(mediaCaptureMgr);
        video.src = URL.createObjectURL(mediaCaptureMgr, { oneTimeOnly: true });
        video.play();

    } catch (e) {
        Debug.writeln("Preview failed: " + e.message);
        return;
    }

    Debug.writeln("Preview started");
    intervalID = setInterval(function () {
        capturePhoto();
    }, 1500);
}

I suppose it is something in the settings.

È stato utile?

Soluzione

try this

var devices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);

await mediaCaptureMgr.InitializeAsync(new MediaCaptureInitializationSettings
{
      VideoDeviceId = devices[1].Id
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top