Método IGraphBuilder::RenderFile (strmif.h)
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na 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 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.]
O RenderFile
método cria um grafo de filtro que renderiza o arquivo especificado.
Sintaxe
HRESULT RenderFile(
[in] LPCWSTR lpcwstrFile,
[in] LPCWSTR lpcwstrPlayList
);
Parâmetros
[in] lpcwstrFile
Especifica uma cadeia de caracteres largos que contém o nome de um arquivo de mídia.
[in] lpcwstrPlayList
Reservado. Deve ser NULL.
Retornar valor
Retorna um HRESULT. Os possíveis valores incluem os seguintes.
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
Êxito parcial; o áudio não foi renderizado. |
|
Sucesso; o Gerenciador de Grafo de Filtro modificou o nome do filtro para evitar a duplicação. |
|
Alguns dos fluxos neste filme estão em um formato sem suporte. |
|
Êxito parcial; alguns dos fluxos neste filme estão em um formato sem suporte. |
|
Operação anulada. |
|
Falha. |
|
O argumento é inválido. |
|
Memória insuficiente. |
|
Argumento de ponteiro NULL. |
|
Não foi encontrada nenhuma combinação de filtros intermediários para fazer a conexão. |
|
Não foi possível carregar o filtro de origem para esse arquivo. |
|
Nenhuma combinação de filtros foi encontrada para renderizar o fluxo. |
|
O formato de arquivo é inválido. |
|
Um objeto ou nome não foi encontrado. |
|
O tipo de mídia desse arquivo não é reconhecido. |
|
Não é possível reproduzir o arquivo: não há suporte para o formato. |
Comentários
Se o parâmetro lpwstrFile especificar um arquivo de mídia, o método criará um grafo de filtro para reprodução padrão. Primeiro, ele adiciona um filtro de origem que pode ler o arquivo, usando o mesmo processo que o método IGraphBuilder::AddSourceFilter . Em seguida, ele renderiza os pinos de saída no filtro de origem, adicionando filtros intermediários, se necessário. Ele tenta filtros na mesma ordem que o método IGraphBuilder::Connect .
Durante o processo de conexão, o Gerenciador do Grafo de Filtro ignorará os pinos em filtros intermediários se o nome do pino começar com um bloco (~). Para obter mais informações, consulte PIN_INFO.
Observe que o RenderFile
método não remove nenhum filtro do grafo. Se você chamar RenderFile
duas vezes, a segunda chamada simplesmente adicionará mais filtros ao grafo. Quando você executar o grafo, ambas as fontes serão reproduzidos ao mesmo tempo.
Exemplos
O exemplo a seguir renderiza um arquivo AVI para reprodução padrão:
C++ |
---|
hr = pGraph->RenderFile(L"C:\\Media\\Example.avi", 0); |
C++ |
---|
hr = pGraph->RenderFile(L"http://example.microsoft.com/Example.avi", 0); |
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) |
Biblioteca | Strmiids.lib |