Partilhar via


Criando objetos de linha do tempo

[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.]

O código de exemplo apresentado neste artigo começa com uma linha do tempo vazia, mas as mesmas etapas se aplicam se você carregar um projeto existente e quiser adicionar objetos a ele.

Para criar qualquer tipo de objeto na linha do tempo, chame o IAMTimeline::CreateEmptyNode método. Por exemplo, o código a seguir cria um novo grupo:

IAMTimelineObj *pGroupObj = NULL;
pTL->CreateEmptyNode(&pGroupObj, TIMELINE_MAJOR_TYPE_GROUP);

O segundo parâmetro é um membro da enumeração TIMELINE_MAJOR_TYPE. Ele especifica o tipo de objeto de linha do tempo a ser criado, como um grupo ou uma faixa.

O método CreateEmptyNode cria o objeto e retorna um ponteiro para a interface IAMTimelineObj do objeto. Ele também incrementa a contagem de referência na interface IAMTimelineObj, portanto, você deve liberar a interface quando terminar de usá-la. Não chame a função CoCreateInstance. Em vez disso, sempre use CreateEmptyNode para criar um objeto de linha do tempo, porque ele inicializa o novo objeto para uso em uma linha do tempo.

A interfaceIAMTimelineObj é uma interface genérica. Ele fornece métodos que são comuns a todos os tipos de objeto de linha do tempo. Cada tipo de objeto também expõe outras interfaces. Por exemplo, os grupos expõem a interface IAMTimelineGroup, entre outros. Você pode obter ponteiros para as outras interfaces chamando QueryInterface.

Depois de criar um objeto, ele ainda não faz parte da linha do tempo. O método para adicionar um objeto à linha do tempo depende do tipo de objeto. A seção a seguir descreve como adicionar grupos, composições e faixas à linha do tempo.

Construindo uma linha do tempo