我正在尝试编写一个简单的帮助应用程序,用于在没有检测到信号的情况下提示用户打开摄像机,这在这种情况下意味着摄像机关闭和/或HDMI电缆没有插入PCMCIA采集卡.如果信号存在,那么我将启动相应的录制应用程序,在本例中为Wirecast.
我怎么可能在VisualStudio中使用C#创建它?
我认为现在我已经接近了一个基于其中一条建议的建议,建议使用GraphEdit并查看硬件上可用的内容.我能够在捕获设备的属性中找到一个"信号检测"标志,如果摄像机打开/关闭或拔掉HDMI电缆,它会从0变为1,这就是我想要的.
现在,我将如何通过代码访问此标志?我想我真的很亲密,但不知道如何访问cElems和pElems从中获取结构caGUID.cElems返回值3,这与屏幕截图中显示的GraphEdit属性窗口中显示的选项卡数相同.pElems每次运行应用程序时都会返回不同的值,所以我不确定该结构中发生了什么.我认为我正在寻找的旗帜位于这些结构中的某个位置.
码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DirectShowLib;
namespace Test
{
static class Program
{
[STAThread]
static void Main()
{
using (System.Threading.Mutex mutex = new System.Threading.Mutex(false, "Global\\" + appGuid))
{
if (!mutex.WaitOne(0, false))
{
return;
}
DsDevice[] capDevices = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
foreach (var dev in capDevices)
{
if (dev.DevicePath == @"@device:pnp:\\?\pci#ven_1131&dev_7160&subsys_12abf50a&rev_03#6&37bccbbe&0&000800e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340100021c}")
{
IFilterGraph2 m_FilterGraph = (IFilterGraph2)new FilterGraph();
IBaseFilter capFilter = null; …Run Code Online (Sandbox Code Playgroud) Mac OS X新手,熟悉Windows.Windows具有DirectShow,大量内置过滤器,COM编程和GraphEdit,可以在您使用代码构建的图形上进行快速原型设计和窥探.
我现在要去Mac使用相机,网络摄像头,麦克风,色彩空间,文件,分割,同步,渲染,文件读取,文件保存以及我认为DirecShow认为理所当然的许多事情在整理现场表演的应用程序时.在Mac方面,到目前为止我发现......什么都没有!要么我不知道在哪里看,要么我有最艰难的时间来平衡Mac的声誉,因为它易于处理媒体,具有连贯的编程能力,可以进入并开始使用媒体操作构建模块.
我已经看到一些弱的建议,使用gstreamer或一些库来进行QT,但我不能让自己相信这是Apple的方式.我遇到过一些QuickTime文档,但我不打算做转换,精灵,广播......
让大脑接受DirectShow培训意味着我甚至不知道Apple如何考虑提供类似DirectShow的功能.这意味着我不知道正确的关键字,甚至不知道在哪里看.图书?买了几个.现在我可以编写一些可以编辑你妹妹的婚礼视频的代码(如果我不能在这个主题上取得相当好的进展,我可能接下来会问你有什么值得的),但是要确定哪些过滤器是可用的以及如何将它们串在一起......没有.建议?
GraphEdit仅适用于DirectShow,而不适用于使用MediaFoundation构建的拓扑.
是否有与MediaFoundation的GraphEdit类似的工具?
我无法在 windows 10 64 位 m/c 上找到 graphedit 工具,我还根据 microsoft docs 安装了 windows 10 sdk。
参考:https : //docs.microsoft.com/en-us/windows/desktop/directshow/using-graphedit
任何人都可以在有关说明和下载的链接上给我建议,以获取最新版本的图形编辑以及使其在 Windows 10 上运行的任何先决步骤。
问候,
阿君
从DirectShow Filter Graph Editor连接到远程图表时遇到问题.当我运行创建直接显示图形的应用程序时,在我的Windows XP机器图形上显示在远程图形列表中,但在Windows 7(x64)机器上,远程图形列表为空.我已经注册了proppage.dll并且还注册了directshowspy.dll ......但仍然没有结果.有任何想法吗?