2

在过去的两周里,我一直在到处寻找,甚至试图获得关于如何做到这一点的提示。这是我第一次询问,当我说我不喜欢寻求帮助时请相信我。

但我已经走到了尽头,我所能找到的只是如何在 C# 中使用别人的框架列出可用的音频和视频设备。我要做的就是列出从 C# 中连接到一台计算机的可用音频和视频设备,而无需任何额外的 3rd 方框架。

如果你们中的任何人对此有帮助,我将不胜感激。就像我说的那样,我已经走到尽头,试图弄清楚如何做到这一点。

谢谢!

4

3 回答 3

1

试试 aForge.net http://www.aforgenet.com/ 这样做非常简单,或者如果对你来说足够的话,你可以使用他们现成的对话框。

于 2012-12-15T12:31:49.653 回答
0

在谷歌搜索“C#获取视频捕获设备”之后。我最终阅读了这两篇 CodeProject 文章:

您会看到其中涉及到很多 COM 互操作。从它的声音来看,我不确定你是否准备好直接投入其中,因为这可能是很多乏味的工作。我会考虑使用现有的东西,而不是重新发明轮子。毕竟,它们都属于公共领域

此外,StackOverflow 上有这篇文章,其中有一些有趣的链接:

于 2012-07-26T03:45:21.557 回答
-2
        /// <summary>
        /// The DirectSoundEnumerate function enumerates the DirectSound Odrivers installed in the system.
        /// </summary>
        /// <param name="lpDSEnumCallback">callback function</param>
        /// <param name="lpContext">User context</param>
        [DllImport("dsound.dll", EntryPoint = "DirectSoundEnumerateA", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
        static extern void DirectSoundEnumerate(DevicesEnumCallback lpDSEnumCallback, IntPtr lpContext);


        /// <summary>
        /// The DirectSoundEnumerate function enumerates the DirectSound Input drivers installed in the system.
        /// </summary>
        /// <param name="lpDSEnumCallback">callback function</param>
        /// <param name="lpContext">User context</param>
        [DllImport("dsound.dll", EntryPoint = "DirectSoundCaptureEnumerateA", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
        static extern void DirectSoundCaptureEnumerate(DevicesEnumCallback lpDSEnumCallback, IntPtr lpContext);
于 2013-10-02T10:36:46.407 回答