2013-09-18 5 views
2

много оборачивалось, и я не мог найти решение.Использование Windows 8 API (VideoCaptureDevices) в приложении C# Console App

  • Цель: мигать светодиод со вспышкой камеры на моем планшете Windows 8.1. Использование Windows 8.1 для разработки и VS2013.
  • Метод InitializeAsync позволяет приложению инициализировать камеру и микрофон с настройками по умолчанию
  • Я создал приложение в качестве приложения для Windows Store и работал безупречно.
  • Мне нужно, чтобы файл был исполняемым, и мне нужно его преобразовать в консольное приложение
  • Я получаю следующую ошибку, когда я делаю mc.InitializeAsync «Ошибка 1« ожидание »требует, чтобы тип« Windows.Foundation. IAsyncAction 'имеют подходящий метод GetAwaiter. Вам не хватает директивы по использованию для' System '? C: \ users \ levi \ documents \ visual studio 2013 \ projects \ ledblinkerconsole \ ledblinkerconsole \ torch.cs 16 14 LEDBlinkerConsole
  • У меня нет идея инициализации камеры через консольное приложение
  • Приветствуются любые другие способы мигать светодиодной вспышкой. У меня нет доступа к ячейкам памяти, но для этого в C++.

Спасибо, ребята!

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Windows.Media.Devices; 
using Windows.Media.Capture; 

namespace LEDBlinkerConsole 
{ 
    class Torch 
    { 
     public async static void BlinkLED() 
     { 
      MediaCapture mc = new MediaCapture(); 
      await mc.InitializeAsync(); 

      Console.WriteLine("Please type \"flash\" to flash the LED\n"); 
      string consInput = Console.ReadLine(); 

      if (consInput.ToUpper() == "FLASH") 
      { 
       if (mc.VideoDeviceController.TorchControl.Supported == true) 
       { 
        mc.VideoDeviceController.TorchControl.Enabled = true; 
        mc.VideoDeviceController.TorchControl.PowerPercent = 100; 
       } 
      } 
     } 
    } 
} 
+0

Я понял. Я ссылался на «System.Runtime», и мне приходилось ссылаться на «System.Runtime.Windowsruntime». Мне нужно было удалить ссылку на «System.Runtime», чтобы она работала. Подробнее о вызовах Async из приложения, отличного от метро: http://www.wintellect.com/blogs/jeffreyr/using-the-windows-runtime-from-a-non-metro-application –

ответ

1

Я понял. Я ссылался на «System.Runtime», и мне приходилось ссылаться на «System.Runtime.Windowsruntime». Мне нужно было удалить ссылку на «System.Runtime», чтобы она работала. Подробнее о вызовах Async из приложения, отличного от метро: http://www.wintellect.com/blogs/jeffreyr/using-the-windows-runtime-from-a-non-metro-application

Смежные вопросы