闪烁模式枚举器值



我身上发生了一些奇怪的事情。我编写了以下代码:

IReadOnlyList<object> supportedFlashModes = PhotoCaptureDevice.GetSupportedPropertyValues(CameraSensorLocation.Front, KnownCameraPhotoProperties.FlashMode);
_availableStates = new FlashStates();
foreach (uint supportedFlashMode in supportedFlashModes)
{
    _availableStates.Add(
        new FlashState() { State = (FlashMode)supportedFlashMode }
     );
 }

其结果是 :0, 1, 3

但闪存模式枚举值为:1,2,3和4。没有 0 值!因此,当我尝试使用此代码检查关闭模式(值 = 0)时

_availableStates.Exists(fs => fs.State == mode);

它返回 FALSE,应该返回 TRUE 代替...

怎么可能?

FlashMode 属性的类型为 FlashState,其枚举值为 0、1 和 3。

FlashMode 文档:http://msdn.microsoft.com/en-us/library/windowsphone/develop/windows.phone.media.capture.knowncameraphotoproperties.flashmode(v=vs.105).aspx

FlashState enum: http://msdn.microsoft.com/en-us/library/windowsphone/develop/windows.phone.media.capture.flashstate(v=vs.105).aspx

我希望这有所帮助。

最新更新