Compartilhar via


Interface IMediaSample (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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.]

A IMediaSample interface define e recupera propriedades em exemplos de mídia. Um exemplo de mídia é um objeto COM que contém um bloco de dados de mídia. Os exemplos de mídia dão suporte ao uso de buffers de memória compartilhados entre filtros.

Normalmente, os aplicativos não chamam métodos nessa interface. Os filtros usam essa interface para definir propriedades em exemplos e entregar os exemplos a um filtro downstream. O filtro downstream usa a interface para recuperar as propriedades e ler os dados. O filtro pode modificar os dados no local ou copiar o exemplo, modificar a cópia e passar a cópia downstream.

A interface IMediaSample2 herda essa interface.

Herança

A interface IMediaSample herda da interface IUnknown . IMediaSample também tem estes tipos de membros:

Métodos

A interface IMediaSample tem esses métodos.

 
IMediaSample::GetActualDataLength

O método GetActualDataLength recupera o comprimento dos dados válidos no buffer.
IMediaSample::GetMediaTime

O método GetMediaTime recupera os tempos de mídia para este exemplo.
IMediaSample::GetMediaType

O método GetMediaType recupera o tipo de mídia, se o tipo de mídia for diferente do exemplo anterior.
IMediaSample::GetPointer

O método GetPointer recupera um ponteiro de leitura/gravação para o buffer do exemplo de mídia.
IMediaSample::GetSize

O método GetSize recupera o tamanho do buffer.
IMediaSample::GetTime

O método GetTime recupera os horários de fluxo nos quais este exemplo deve começar e concluir.
IMediaSample::IsDiscontinuity

O método IsDiscontinuity determina se este exemplo representa uma quebra no fluxo de dados.
IMediaSample::IsPreroll

O método IsPreroll determina se este exemplo é um exemplo de pré-registro. Um exemplo de pré-registro não deve ser exibido.
IMediaSample::IsSyncPoint

O método IsSyncPoint determina se o início deste exemplo é um ponto de sincronização.
IMediaSample::SetActualDataLength

O método SetActualDataLength define o comprimento dos dados válidos no buffer.
IMediaSample::SetDiscontinuity

O método SetDiscontinuity especifica se este exemplo representa uma quebra no fluxo de dados.
IMediaSample::SetMediaTime

O método SetMediaTime define os tempos de mídia para este exemplo.
IMediaSample::SetMediaType

O método SetMediaType define o tipo de mídia para o exemplo.
IMediaSample::SetPreroll

O método SetPreroll especifica se este exemplo é um exemplo de pré-registro.
IMediaSample::SetSyncPoint

O método SetSyncPoint especifica se o início deste exemplo é um ponto de sincronização.
IMediaSample::SetTime

O método SetTime define os horários de fluxo quando este exemplo deve começar e concluir.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)