Partilhar via


Adicionando uma fonte

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

[Esta API não é suportada e pode ser alterada ou indisponível no futuro.]

Crie um objeto de origem da mesma forma que cria outros objetos de linha do tempo. Antes de inseri-lo na linha do tempo, no entanto, você deve especificar pelo menos as seguintes propriedades na fonte.

No exemplo a seguir, o clipe de origem começa quatro segundos depois do início do arquivo. A duração da mídia é de 10 segundos, o dobro da duração da linha do tempo, o que significa que a fonte será reproduzida a uma velocidade duas vezes superior à normal. A constante UNITS é definida como 10000000 (10^7) e é igual a um segundo.

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

Observação

Atualmente, o DES não pode renderizar simultaneamente mais de 75 fontes que foram compactadas com codecs VCM (Video Compression Manager). Além disso, se o projeto como um todo contiver mais de 75 dessas fontes, você deverá usar a reconexão dinâmica ou o DES não poderá visualizar o projeto. Para obter mais informações, consulte IRenderEngine::SetDynamicReconnectLevel.

 

Para obter mais informações sobre fontes, consulte Trabalhando com fontes.

Construindo uma linha do tempo