首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DirectShow.NET示例-加载更好的配置文件

DirectShow.NET示例-加载更好的配置文件
EN

Stack Overflow用户
提问于 2013-11-19 14:31:08
回答 1查看 660关注 0票数 2

我正在运行CapWMV示例应用程序DirectShow.NET。

它正在Capture.cs中加载一个非常低质量的配置文件:

代码语言:javascript
复制
// Windows Media Video 8 for Dial-up Modem (No audio, 56 Kbps)
// READ THE README for info about using guids
Guid cat = new Guid(0x6E2A6955, 0x81DF, 0x4943, 0xBA, 0x50, 0x68, 0xA9, 0x86, 0xA7, 0x08, 0xF6);

自述机构说

如果必须使用guids,则可以在%windir%\WMSysPr9.prx中找到它们。

但是,当我加载另一个配置文件时,如果失败,大概是因为我没有连接音频流,正如WindowsMedia自述文件所解释的那样:

最简单的(示例中最常用的)是使用IWMProfileManager::LoadProfileByID。该方法采用Guid,它与%windir%\WMSysPr9.prx中的条目匹配,用于指定输出的各种参数(BPS、视频大小等)。 如果配置为2个流(即音频和视频),则必须将音频和视频流连接到写入器,否则写入器将失败。

由于我假设无法使用DirectShow.NET从文件中加载配置文件,所以必须从WMSysPr9.prx (通过Guid)加载更好的配置文件,并连接音频流。

在这个示例中,我将如何进行这种连接?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 19:28:55

不推荐基于GUID的“系统”配置文件。它们是预定义的Windows 8概要文件,您只能通过GUID引用这些概要文件,而不能从碎片构建整个概要文件。Windows 9没有提供任何预置,所以您应该创建一个空的配置文件,并在那里添加设置它们的流。

系统概况

没有使用Windows 9系列编解码器的预定义系统配置文件。您可以使用版本8配置文件作为起点来创建自己的Windows Media 9系列配置文件。有关更多信息,请参见重用流配置。

MSDN指导您创建配置文件这里

创建和/或修改概要文件的基本步骤是:

  • 创建一个空的概要文件,或者加载一个现有的概要文件进行编辑。
  • 如果需要,根据从编解码器中检索到的支持配置文件数据配置每个流,这些数据将用于对流进行编码。
  • 如果需要,配置互斥。
  • 如果需要,配置带宽共享。
  • 如果需要,请设置文件中流的优先级。

您可以找到一个代码片段这里。它是C++,但是将其转换为C#非常简单。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20074243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档