Compartilhar via


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
S_OK
Êxito.
VFW_S_AUDIO_NOT_RENDERED
Êxito parcial; o áudio não foi renderizado.
VFW_S_DUPLICATE_NAME
Sucesso; o Gerenciador de Grafo de Filtro modificou o nome do filtro para evitar a duplicação.
VFW_S_PARTIAL_RENDER
Alguns dos fluxos neste filme estão em um formato sem suporte.
VFW_S_VIDEO_NOT_RENDERED
Êxito parcial; alguns dos fluxos neste filme estão em um formato sem suporte.
E_ABORT
Operação anulada.
E_FAIL
Falha.
E_INVALIDARG
O argumento é inválido.
E_OUTOFMEMORY
Memória insuficiente.
E_POINTER
Argumento de ponteiro NULL.
VFW_E_CANNOT_CONNECT
Não foi encontrada nenhuma combinação de filtros intermediários para fazer a conexão.
VFW_E_CANNOT_LOAD_SOURCE_FILTER
Não foi possível carregar o filtro de origem para esse arquivo.
VFW_E_CANNOT_RENDER
Nenhuma combinação de filtros foi encontrada para renderizar o fluxo.
VFW_E_INVALID_FILE_FORMAT
O formato de arquivo é inválido.
VFW_E_NOT_FOUND
Um objeto ou nome não foi encontrado.
VFW_E_UNKNOWN_FILE_TYPE
O tipo de mídia desse arquivo não é reconhecido.
VFW_E_UNSUPPORTED_STREAM
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);
O exemplo a seguir baixa um arquivo AVI por HTTP, usando o filtro DE Origem do Arquivo (URL ):
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

Confira também

Códigos de erro e êxito

IGraphBuilder Interface