Использование перечисления в C # - PullRequest
0 голосов
/ 28 сентября 2011

Я пишу свое первое приложение на C # для Windows Phone Mango. Это очень простое приложение для фонарика.

Раньше было невозможно получить доступ к вспышке камеры на Windows Phone, но в этой последней версии это возможно. Вот документация об этом:

http://msdn.microsoft.com/en-us/library/microsoft.devices.flashmode(v=vs.92).aspx

К сожалению, для меня это абсолютно бессмысленно. У меня настроена кнопка, и операторы if-then работают, чтобы переключать значок кнопки и текст при нажатии. Я просто не могу понять, как на самом деле включать и выключать вспышку. Я был бы признателен за четкий пример, чтобы я мог закончить это.

Для тех из вас, кто не хочет покидать сайт ... Эта ссылка в основном гласит:

public enum FlashMode

Members: On, Off, Auto, RedEyeReduction

Ответы [ 4 ]

2 голосов
/ 28 сентября 2011

Перечисление FlashMode - это просто набор значений, представляющих допустимые значения для FlashMode.Однако FlashMode, похоже, определяет поведение вспышки при съемке.«Вкл» означает, что вспышка всегда будет мигать.Похоже, это не означает, что сам свет «включен» в смысле непрерывного производства света.

Немного свидетельств в пользу этого: в документации FlashMode сказано, что FlashMode.On означает «Камеравспышка включена. "

0 голосов
/ 28 сентября 2011

Если вы пытаетесь создать какое-то приложение для фонарика, API для светодиода в соответствии с this

не существует
0 голосов
/ 28 сентября 2011

На MSDN есть отличное объяснение enum , поэтому я не буду пытаться воссоздать это здесь, но по существу был создан новый тип, чтобы упростить присвоение значений.Вместо того, чтобы помнить, что (например) значение «Вкл.» Равно 0, а «Выкл.» Равно 1, вместо этого можно использовать FlashMode.On.Конечно, эти перечисления представляют только значения, поэтому вам все равно придется присвоить их чему-либо.

Например, я нашел это по ссылке из предоставленной вами ссылки:

cam.FlashMode = FlashMode.On;

Это выглядит весело, так что удачи!

0 голосов
/ 28 сентября 2011

Вы видели эту ссылку?

http://msdn.microsoft.com/en-us/library/hh202949(v=vs.92).aspx

Если вам доступна переменная «cam» (ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я ничего не знаю о мобильных устройствах), вам нужно изменить свойство FlashMode. Поэтому, нажав на кнопку, вы сделаете

cam.FlashMode = FlashMode.On 

РЕДАКТИРОВАТЬ: После просмотра немного кажется, что переменная «cam» является экземпляром класса PhotoCamera. Так что это может понадобиться в вашем приложении. Эта ссылка также может помочь в этом.

http://msdn.microsoft.com/en-us/library/hh202956(v=vs.92).aspx

...