2013-03-15 122 views
0

我试图从外部USB摄像头(C#,Windows 8)捕获流。以下代码:从初始化MediaCapture时HRESULT异常:0xC00DABE8

DeviceInformationCollection devInfoCollection = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture); 
MediaCaptureInitializationSettings settings = new Windows.Media.Capture.MediaCaptureInitializationSettings(); 
settings.VideoDeviceId = devInfoCollection[0].Id; 
mediaCaptureMgr = new MediaCapture(); 
await mediaCaptureMgr.InitializeAsync(settings); 

在最后一行(await mediaCaptureMgr.InitializeAsync(settings))中触发异常。 变量设置不为空。 设置:

(VideoDeviceId = “\\?\ USB#VID_05E3 & PID_0510 & MI_00#7 & 2D043328 0000#{e5323777-f976-4f5b-9b55-b94699c46e44} \ GLOBAL?”)

异常文本:

Exception from HRESULT: 0xC00DABE8 
Source "mscorlib" 

确定。我试图做如: S =“System.Exception的:从HRESULT异常:

try 
{ 
    mediaCaptureMgr = new MediaCapture(); 
    await mediaCaptureMgr.InitializeAsync(); 
    myCaptureElement.Source = mediaCaptureMgr; 
    await mediaCaptureMgr.StartPreviewAsync(); 

} 
catch (Exception ee) 
{ 
    String s = ee.ToString(); 
} 

就行(mediaCaptureMgr.InitializeAsync()) 在这种情况下会发生错误反正0xC00DABE8 \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.GetResult()\ r \ n在TestVideo.MainPage.d__0.MoveNext()在c:\ Users \ Admin \ Documents \ Visual Studio 2012 \ Projects \ TestVideo \ TestVideo \ MainPage.xaml.cs:line 53“

和异常是相同的:”来自HRESUL的例外T:0xC00DABE8" 当前捕获源没有音频

+0

这意味着要求设置的MediaCaptureInitializationSettings视频或音频StreamingCaptureMode”流”。为什么你的网络摄像头试图捕捉音频是不明确的问题。 – 2013-03-15 15:25:52

+0

你有没有尝试过不同的硬件? – Xyroid 2013-03-22 10:48:29

回答

0

请根据像

settings.StreamingCaptureMode = settings.StreamingCaptureMode.Video; 

我希望这将有助于你