Filtro gravador do ASF do WM (SDK do Windows Media Format 11)
[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador de Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador de Coletor em vez do SDK do Windows Media Format 11, 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.]
O filtro Gravador do ASF do WM aceita um número variável de fluxos de entrada e cria um arquivo ASF. O filtro manipula toda a compactação e multiplexação (embora o mecanismo de compactação possa ser ignorado). Você pode usar o filtro Gravador do ASF do WM em vários cenários, incluindo captura de vídeo digital (DV), recompactação de áudio e conversão de arquivos de mídia digital Audio-Video intercalados (AVI) ou MPEG para streaming de rede. Esse filtro fornece a única maneira de criar arquivos de Áudio do Microsoft Windows Media e Vídeo do Windows Media no DirectShow.
Para obter mais informações, consulte Criando arquivos ASF no DirectShow.
A tabela a seguir contém informações sobre o filtro Gravador DO ASF do WM, como as interfaces e os tipos de mídia compatíveis.
Filtrar Informações | Tipos |
---|---|
Filtrar interfaces | IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPages, IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2 |
Tipos de mídia de pino de entrada | Dependente do perfil. Normalmente, tipos descompactados, como MEDIATYPE_Audio ou MEDIATYPE_Video, embora tipos compactados possam ser aceitos se corresponderem ao perfil |
Interfaces de pino de entrada | IPin, IMemInputPin, IAMStreamConfig, IServiceProvider, IAMWMBufferPass, IWMStreamConfig2 (por meio de IServiceProvider) |
Tipos de mídia de pino de saída | Não aplicável |
Interfaces de pino de saída | Não aplicável |
Filtrar CLSID | CLSID_WMAsfWriter |
CLSID da página de propriedades | CLSID_WMAsfWriterProperties |
Executável | Qasf.dll |
Mérito | MERIT_DO_NOT_USE |
Categoria de Filtro | Não especificado |
Comentários
O número de pinos de entrada no filtro depende do perfil que é passado para o filtro. Um pino do tipo de mídia apropriado é criado para cada fluxo definido no perfil.
Os pinos de entrada dão suporte a um método da interface IAMStreamConfig : IAMStreamConfig::GetFormat. Todos os outros métodos retornam E_NOTIMPL. Chame o método GetFormat para consultar o formato de compactação de destino do pino, que é definido pelo perfil atual. Use a interface IConfigAsfWriter para definir o perfil.
A interface IServiceProvider do filtro permite que os aplicativos recuperem a interface IWMWriterAdvanced2 , que é definida no SDK de Formato de Mídia do Windows. A interface IWMWriterAdvanced2 controla a desinterlacização de vídeo e é útil se a entrada for uma fonte entrelaçada , como DV (vídeo digital). Use os métodos GetInputSetting e SetInputSetting para controlar a desinterlacização. Não é recomendável que os clientes usem nenhum dos outros métodos nessa interface. Essa interface só pode ser obtida depois que o filtro for adicionado ao grafo de filtro. O exemplo a seguir mostra como consultar essa interface:
// Assume that m_pGraph is a valid IGraphBuilder interface pointer,
// and that pAsfWriter points to the IBaseFilter interface
// on the WM ASF Writer filter.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;
hr = m_pGraph->AddFilter(pAsfWriter, L"WM ASF Writer");
...
hr = pAsfWriter->QueryInterface(IID_IServiceProvider, (void**)&pProvider)
if (SUCCEEDED(hr))
{
hr = pProvider->QueryService(IID_IWMWriterAdvanced2,
IID_IWMWriterAdvanced2, (void**)&pWMWA2);
pProvider->Release();
}
Tópicos relacionados