问题标签 [wpf-mediakit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
279 浏览

c# - 从捕获设备获取帧速率列表和像素格式?(WPF 媒体工具包)

  1. 我可以获得捕获设备支持的分辨率列表(来自VideoInfoHeaderBmiHeader)。但我不知道如何获得帧速率列表
  2. 同样,我正在寻找如何设置像素格式(例如uyvy422)。

是否可以使用WPF-MediaKit进行设置?

编辑: 我发现我需要的像素格式是MediaSubType.UYVY(对应uyvy422)。但到目前为止我不知道如何为捕获设备设置它。

0 投票
1 回答
107 浏览

c# - 如何防止 WPF MediaKit MediaClosed 被触发

我有一个 WPF 窗口,里面有一个ContentPresenter,两个用户控件(一个主机MediaUriElement,另一个主机其他东西)和两个按钮(在用户控件之间切换)。

当我切换到MediaUriElementUser Control时,我给它分配了一个视频Uri,并且视频播放得很好,然后我切换到另一个User Control,这时候MediaClosed触发了事件,当我切换回来时,视频无法播放。

我希望视频可以从头开始播放,或者最后继续播放,我该怎么办?

非常感谢任何帮助。

0 投票
0 回答
199 浏览

wpf - 有时会为 WPF MediaKit 触发 MediaFailed 事件

MediaFailed 事件不时触发两次,我的 xaml 如下:

第一个 MediaFailedEventArgs.Exception 的信息如下: Message "The download of the specified resource has failed" Source "DirectShowLib-2005" StackTrace:

第二个例外如下:消息“未指定的错误”源“DirectShowLib-2005”StackTrace:

注意:因为我的应用程序是 .NET 4.0 的目标,所以我更改了源代码并在我的本地机器上重新生成,源代码更改为:更改 D3DRenderer.cs from D3DImage.SetBackBuffer(D3DResourceType.IDirect3DSurface9, backBuffer, true); 到 D3DImage.SetBackBuffer(D3DResourceType.IDirect3DSurface9, backBuffer);

0 投票
1 回答
254 浏览

c# - Update the video source device list

It seems the device list will be created only once at startup. Is it possible to update the video source device list during run time. Unfortunately, I can't find a method to do this.

0 投票
1 回答
616 浏览

wpf - 为什么由代码创建的 WPFMediaKit VideoCaptureElement 会出现在 MediaFailed 中?

我在运行时将 VideoCaptureElement 添加到窗口,但是当我运行此代码时,它会触发 MediaFailed。但是,如果我在 XAML 中添加相同的元素,那么它工作正常,我可以看到来自笔记本电脑摄像头的视频。我做错什么了吗?请帮忙!

0 投票
0 回答
98 浏览

wpf-mediakit - WPFMediaKit HDMI 采集卡没有声音

我正在为我的学校项目使用 WPFMediaKit 从 HDMI USB 捕获卡捕获视频。但是没有声音,只能显示画面。

如何激活 HDMI 信号的声音/音频?

另一方面,我可以用音频信号记录屏幕的选定部分,并保存到 wmv/mp4 文件吗?

非常感谢 !

0 投票
0 回答
223 浏览

c# - 使用 WPF Mediakit 检测网络摄像头的分辨率和帧速率选项

我正在使用 WPF MediakitVideoCaptureElement从网络摄像头捕获视频。DesiredPixelWidth我用和DesiredPixelHeight属性设置分辨率。我想知道如何检测设备可以使用的分辨率和帧速率。我不知道它是否适用于 WPF Mediakit 或其他库。你知道如何检测这种能力吗?

0 投票
0 回答
77 浏览

wpf-mediakit - EnhancedVideoRenderer 的工作原理

我尝试使用 MediaUriElement 将 VideoRenderer 设置为 VideoMixingRenderer9 并且效果很好。

我想尝试使用 MediaUriElement 甚至将 VideoRenderer 设置为 EnhancedVideoRenderer 来比较性能,但我无法使用 EnhancedVideoRenderer 模式显示任何内容。

我试过这个,但任何东西:

  • 1- 安装,例如,K-Lite Codec Pack
  • 2- 打开“Lav Video”工具并将“要使用的硬件解码器”字段更改为 DXVA2
  • 3- 打开 EvrPresenter 解决方案并编译它
  • 4- 打开 WPF-MediaKit 解决方案并将“测试应用程序”项目上的 EvrPresenter.ddl 替换为上一步中生成的 EvrPresenter.ddl
  • 5- 在 MainWindow.xaml 中添加 VideoRenderer="EnhancedVideoRenderer" in controls:MediaUriElement tag: controls:MediaUriElement x:Name="mediaUriElement" VideoRenderer="EnhancedVideoRenderer" ...controls:MediaUriElement>; .... 或者您可以简单地将 VideoRendererProperty 属性中的默认值更改为 VideoRendererType.EnhancedVideoRenderer
  • 6-编译并启动“测试应用程序”

有什么建议将 MediaUriElement 与 EnhancedVideoRenderer 一起使用而不是 VideoMixingRenderer9 吗?

问候, 里纳尔多

0 投票
1 回答
1432 浏览

c# - 如何使用 WPF-Mediakit 从 Stream 或 MemoryStream 播放视频?

对于我的 wpf 应用程序,我需要播放保存在 MemoryStream 中的视频文件。是否可以通过使用 WPF-mediakit 来实现这一点?

由于 MediaElement 不支持直接从内存播放视频,我一直在使用 vlc.dotnet 库来实现这一点。但是,我正在寻找替代方案。我发现一些帖子说 WPF-Mediakit 可以播放 MemoryStream 中的视频,但我无法在源代码或文档中找到所描述的功能。

如果有人能指出我在 WPF-Mediakit 中播放保存在内存中的视频的正确方向,那就太好了。

0 投票
0 回答
66 浏览

c# - 切换标签后,网络摄像头视频不会再次呈现

我正在使用 wpf-mediakit 库为我的桌面应用程序渲染来自 USB 摄像头的视频流。

XAML:

和代码隐藏:

问题是,当我切换选项卡并返回此选项卡项时,流根本不会呈现。据我所知,这是一些选项卡虚拟化问题,但我不知道如何解决这个问题。另外,理想情况下,我不想每次都重新初始化流,因为这样做需要几秒钟。