添加源

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

[此 API 不受支持,将来可能会更改或不可用。]

创建源对象的方式与创建其他时间线对象的方式相同。 但是,在将其插入时间线之前,必须至少在源上指定以下属性。

在以下示例中,源剪辑开始进入文件四秒。 媒体持续时间为 10 秒,是时间线持续时间的两倍,这意味着源将以两倍的正常速度播放。 常量 UNITS 定义为 10000000 (10^7) 等于 1 秒。

pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile); 
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);

注意

目前,DES 无法同时呈现使用视频压缩管理器 (VCM) 编解码器压缩的超过 75 个源。 此外,如果整个项目包含超过 75 个此类源,则必须使用动态重新连接,否则 DES 无法预览项目。 有关详细信息,请参阅 IRenderEngine::SetDynamicReconnectLevel

 

有关源的详细信息,请参阅 使用源

构造时间线