C# Microsoft Expression-OutputPreviewWindows不工作
我正在尝试构建一个简单的测试示例,它使用我的网络摄像头并输出到WIndowsFormHost。这实际上是从示例代码中提取的,但我不确定它为什么不起作用。我的网络摄像头的LED灯亮了,所以我想这意味着我的网络摄像头没有问题 有人能帮我解决这个问题吗?这是我的示例代码C# Microsoft Expression-OutputPreviewWindows不工作,c#,expression,C#,Expression,我正在尝试构建一个简单的测试示例,它使用我的网络摄像头并输出到WIndowsFormHost。这实际上是从示例代码中提取的,但我不确定它为什么不起作用。我的网络摄像头的LED灯亮了,所以我想这意味着我的网络摄像头没有问题 有人能帮我解决这个问题吗?这是我的示例代码 private void Window_Loaded(object sender, RoutedEventArgs e) { job = new LiveJob(); deviceSource
private void Window_Loaded(object sender, RoutedEventArgs e)
{
job = new LiveJob();
deviceSource = job.AddDeviceSource(videoDevs.Count > 0 ? videoDevs[1] : null, audioDevs.Count > 0 ? audioDevs[0] : null);
job.ActivateSource(deviceSource);
job.ApplyPreset(LivePresets.VC1HighSpeedBroadband16x9);
job.StartEncoding();
job.OutputPreviewWindow = new PreviewWindow(new HandleRef(displayPanel, displayPanel.Handle));
//Console.Read();
//job.StopEncoding();
}
此外,当我试图将job.StartEncoding()放入按钮时,我还遇到了一个奇怪的错误,上面写着HREF COMException。谁能告诉我这个错误是什么意思
我找到了我问题的答案
private string Broadcast_Webcam()
{
if (_job == null)
{
v_Device = EncoderDevices.FindDevices(EncoderDeviceType.Video);
a_Device = EncoderDevices.FindDevices(EncoderDeviceType.Audio);
_job = new LiveJob();
_source = _job.AddDeviceSource(v_Device.Count > 0 ? v_Device[1] : null, a_Device.Count > 0 ? a_Device[0] : null);
_job.ActivateSource(_source);
}
if (_job != null)
{
_job.ApplyPreset(LivePresets.VC1Broadband4x3);
PullBroadcastPublishFormat format = new PullBroadcastPublishFormat();
format.BroadcastPort = 8080;
format.MaximumNumberOfConnections = 2;
_job.PublishFormats.Add(format);
_job.StartEncoding();
}
return "Webcam service has been started";
}
这将毫无问题地工作
第二个问题是一个经常出现的错误。解决这个问题的方法是通过
_job.StopEncoding();
_job.Dispose();
我忘记在处理之前停止编码过程,导致异常