Compartilhar via


Interface IMFSample (mfobjects.h)

Representa um exemplo de mídia, que é um objeto de contêiner para dados de mídia. Para vídeo, um exemplo normalmente contém um quadro de vídeo. Para dados de áudio, um exemplo normalmente contém vários exemplos de áudio, em vez de uma única amostra de áudio.

Um exemplo de mídia contém zero ou mais buffers. Cada buffer gerencia um bloco de memória e é representado pela interface IMFMediaBuffer . Um exemplo pode ter vários buffers. Os buffers são mantidos em uma lista ordenada e acessados pelo valor de índice. Também é válido ter um exemplo vazio sem buffers.

Herança

A interface IMFSample herda de IMFAttributes. IMFSample também tem estes tipos de membros:

Métodos

A interface IMFSample tem esses métodos.

 
IMFSample::AddBuffer

Adiciona um buffer ao final da lista de buffers no exemplo.
IMFSample::ConvertToContiguousBuffer

Converte um exemplo com vários buffers em um exemplo com um único buffer.
IMFSample::CopyToBuffer

Copia os dados de exemplo para um buffer. Esse método concatena os dados válidos de todos os buffers do exemplo, na ordem.
IMFSample::GetBufferByIndex

Obtém um buffer do exemplo, por índice.
IMFSample::GetBufferCount

Recupera o número de buffers no exemplo.
IMFSample::GetSampleDuration

Recupera a duração do exemplo.
IMFSample::GetSampleFlags

Recupera sinalizadores associados ao exemplo. No momento, nenhum sinalizador é definido.
IMFSample::GetSampleTime

Recupera o tempo de apresentação do exemplo.
IMFSample::GetTotalLength

Recupera o comprimento total dos dados válidos em todos os buffers no exemplo. O comprimento é calculado como a soma dos valores recuperados pelo método IMFMediaBuffer::GetCurrentLength.
IMFSample::RemoveAllBuffers

Remove todos os buffers do exemplo.
IMFSample::RemoveBufferByIndex

Remove um buffer em um índice especificado do exemplo.
IMFSample::SetSampleDuration

Define a duração do exemplo.
IMFSample::SetSampleFlags

Define sinalizadores associados ao exemplo. No momento, nenhum sinalizador é definido.
IMFSample::SetSampleTime

Define a hora da apresentação do exemplo.

Comentários

Para criar um novo exemplo de mídia, chame MFCreateSample.

Observação  

Quando você chama CopyAllItems, herdado da interface IMFAttributes , em um IMFSample, o tempo, a duração e os sinalizadores de exemplo não são copiados para o exemplo de destino. Você deve copiar esses valores para o novo exemplo manualmente.

 
Essa interface estará disponível nas seguintes plataformas se os componentes redistribuíveis do SDK do Windows Media Format 11 estiverem instalados:
  • Windows XP com Service Pack 2 (SP2) e posterior.
  • Windows XP Media Center Edition 2005 com KB900325 (Windows XP Media Center Edition 2005) e KB925766 (pacote cumulativo de atualizações de outubro de 2006 para Windows XP Media Center Edition) instalados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfobjects.h (include Mfidl.h)

Confira também

IMFAttributes

Media Foundation Interfaces

Exemplos de mídia

Atributos de exemplo