Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Phone 8.1 Javascript应用程序-使用摄像头_Javascript_C#_Windows Phone 8 - Fatal编程技术网

Windows Phone 8.1 Javascript应用程序-使用摄像头

Windows Phone 8.1 Javascript应用程序-使用摄像头,javascript,c#,windows-phone-8,Javascript,C#,Windows Phone 8,嗯,我有一个现有的HTML5应用程序,应该移植到WindowsPhone8.1。现有的应用程序需要一些本机访问权限来发送邮件、在存储器中写入/读取文件以及拍照 在我的解决方案中,我有一个Javascript Windows Phone 8.1应用程序和一个Windows Phone 8.1运行时组件。 我已经通过运行时组件管理了文件/电子邮件访问。(Windows.ApplicationModel.*) 我被相机卡住了。目标是: Javascript调用“拍摄图片(回调)” 本机拍照(怎么拍?

嗯,我有一个现有的HTML5应用程序,应该移植到WindowsPhone8.1。现有的应用程序需要一些本机访问权限来发送邮件、在存储器中写入/读取文件以及拍照

在我的解决方案中,我有一个Javascript Windows Phone 8.1应用程序和一个Windows Phone 8.1运行时组件。 我已经通过运行时组件管理了文件/电子邮件访问。(
Windows.ApplicationModel.*

我被相机卡住了。目标是:

  • Javascript调用“拍摄图片(回调)”
  • 本机拍照(怎么拍?!)
  • 将其保存到存储器中
  • 使用数据/文件执行回调
我还没有找到任何真正的方法。 我该怎么做

到目前为止,我尝试的是:

public async void takePicture(PhotoSuccessCallback scb, PhotoErrorCallback ecb)
    {
        var x = new MediaCapture();
        var settings = new MediaCaptureInitializationSettings();
        settings.PhotoCaptureSource = PhotoCaptureSource.Photo;
        await x.InitializeAsync(settings);
        await x.StartPreviewAsync();
    }
此代码段在StartPreviewSync()时崩溃,出现了一个没有帮助的/泛型异常。说清楚一点,我真的不想自己做这件事,必须有一个简单的解决方案,对吗

如果无法使用此代码,是否可以导航到其他视图来管理此代码

我必须承认,我对这些东西很困惑


谢谢。

在开始预览之前,您需要将MediaCapture作为源分配给可以显示预览的控件

我相信在JavaScript中,它将是一种大致如下的东西:

var previewVidTag = document.getElementById("cameraPreview");
var previewUrl = URL.createObjectURL(x);
previewVidTag.src = previewUrl;
previewVidTag.play();

previewVidTag.addEventListener("playing", function () {
    // preview has started
});
您的HTML应该有如下内容:

<video id="cameraPreview" class="cameraPreview"></video>


我相信您应该能够引用开始。在开始预览之前,您需要将MediaCapture作为源分配给可以显示预览的控件

我相信在JavaScript中,它将是一种大致如下的东西:

var previewVidTag = document.getElementById("cameraPreview");
var previewUrl = URL.createObjectURL(x);
previewVidTag.src = previewUrl;
previewVidTag.play();

previewVidTag.addEventListener("playing", function () {
    // preview has started
});
您的HTML应该有如下内容:

<video id="cameraPreview" class="cameraPreview"></video>


我相信您应该能够引用以开始。

您是否在软件包清单中声明了必要的权限(网络摄像头+麦克风),以便允许您使用摄像头?是的,两个权限都已声明。您是否声明了必要的权限(网络摄像头+麦克风)在软件包清单中,是否允许您使用摄像头?是的,两个权限都已声明。