Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[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.
- Os horários de início e parada, em relação à linha do tempo. Chame o método IAMTimelineObj::SetStartStop.
- O arquivo de mídia a ser usado como fonte. Chame o método IAMTimelineSrc::SetMediaName com uma cadeia de caracteres largos representando o nome do arquivo.
- Os tempos de início e parada da mídia, que são relativos ao arquivo original. Chame o método IAMTimelineSrc::SetMediaTimes. Para obter mais informações sobre tempos de mídia, consulte Hora no DirectShow Editing Services.
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.
Tópicos relacionados