Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Implementado por objetos de origem de mídia.
Fontes de mídia são objetos que geram dados de mídia. Por exemplo, os dados podem vir de um arquivo de vídeo, de um fluxo de rede ou de um dispositivo de hardware, como uma câmera. Cada fonte de mídia contém um ou mais fluxos e cada fluxo fornece dados de um tipo, como áudio ou vídeo.
Herança
A interface IMFMediaSource herda de IMFMediaEventGenerator. IMFMediaSource também tem esses tipos de membros:
Methods
A interface IMFMediaSource tem esses métodos.
|
IMFMediaSource::CreatePresentationDescriptor Recupera uma cópia do descritor de apresentação da fonte de mídia. Os aplicativos usam o descritor de apresentação para selecionar fluxos e obter informações sobre o conteúdo de origem. |
|
IMFMediaSource::GetCharacteristics Recupera as características da fonte de mídia. |
|
IMFMediaSource::P ause Pausa todos os fluxos ativos na fonte de mídia. |
|
IMFMediaSource::Shutdown Desliga a fonte de mídia e libera os recursos que está usando. |
|
IMFMediaSource::Start Inicia, procura ou reinicia a fonte de mídia especificando onde iniciar a reprodução. |
|
IMFMediaSource::Stop Interrompe todos os fluxos ativos na fonte de mídia. |
Observações
No Windows 8, essa interface é estendida com IMFMediaSourceEx.
Para algumas fontes de dispositivo, como câmeras ou microfones, o IMFMediaSource também implementa o IKsControl que pode ser usado por aplicativos de modo de usuário para emitir operações KSPROPERTY, KSEVENT e KSMETHOD para o driver de dispositivo subjacente.
Observação
Essa interface é opcional e pode não estar disponível. Se essa interface não estiver disponível, QueryInterface retornará E_NOINTERFACE.
Obtenha uma instância do IMFMediaSource chamando IMFSourceResolver::CreateObjectFromByteStream, IMFSourceResolver::CreateObjectFromURL ou as versões assíncronas desses métodos.
O exemplo a seguir mostra como usar IMFSourceResolver para obter uma instância de IMFMediaSource de um IMFByteStream.
#include <wil.h>
#include <mfplat.h>
#include <mfidl.h>
HRESULT CreateMediaSourceFromStream(_In_ IMFByteStream* stream, _COM_Outptr_ IMFMediaSource** source)
{
*source = nullptr;
wil::com_ptr_nothrow<IMFSourceResolver> sourceResolver;
RETURN_IF_FAILED(MFCreateSourceResolver(&sourceResolver));
MF_OBJECT_TYPE objectType;
wil::com_ptr_nothrow<IUnknown> sourceUnknown;
RETURN_IF_FAILED(sourceResolver->CreateObjectFromByteStream(stream, nullptr, MF_RESOLUTION_MEDIASOURCE, nullptr, &objectType, &sourceUnknown));
RETURN_IF_FAILED(sourceUnknown.copy_to(IID_PPV_ARGS(source)));
return S_OK;
}
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
| Servidor mínimo compatível | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
| da Plataforma de Destino |
Windows |
| Header | mfidl.h |