Estrutura AVISTREAMINFOW (vfw.h)
A estrutura AVISTREAMINFO contém informações para um único fluxo.
Sintaxe
typedef struct _AVISTREAMINFOW {
DWORD fccType;
DWORD fccHandler;
DWORD dwFlags;
DWORD dwCaps;
WORD wPriority;
WORD wLanguage;
DWORD dwScale;
DWORD dwRate;
DWORD dwStart;
DWORD dwLength;
DWORD dwInitialFrames;
DWORD dwSuggestedBufferSize;
DWORD dwQuality;
DWORD dwSampleSize;
RECT rcFrame;
DWORD dwEditCount;
DWORD dwFormatChangeCount;
WCHAR szName[64];
} AVISTREAMINFOW, *LPAVISTREAMINFOW;
Membros
fccType
Código de quatro caracteres que indica o tipo de fluxo. As seguintes constantes foram definidas para os dados comumente encontrados em fluxos AVI:
Constante | Descrição |
---|---|
|
Indica um fluxo de áudio. |
|
Indica um fluxo MIDI. |
|
Indica um fluxo de texto. |
|
Indica um fluxo de vídeo. |
fccHandler
Código de quatro caracteres do manipulador de compressor que compactará esse fluxo de vídeo quando ele for salvo (por exemplo, mmioFOURCC ('M','S','V','C')). Esse membro não é usado para fluxos de áudio.
dwFlags
Sinalizadores aplicáveis para o fluxo. Os bits na palavra de alta ordem desses sinalizadores são específicos para o tipo de dados contidos no fluxo. Os seguintes sinalizadores são definidos:
dwCaps
Sinalizadores de funcionalidade; atualmente não utilizado.
wPriority
Prioridade do fluxo.
wLanguage
Idioma do fluxo.
dwScale
Escala de tempo aplicável ao fluxo. Dividir dwRate por dwScale fornece a taxa de reprodução em número de amostras por segundo.
Para fluxos de vídeo, essa taxa deve ser a taxa de quadros. Para fluxos de áudio, essa taxa deve corresponder ao tamanho do bloco de áudio (o membro nBlockAlign da estrutura WAVEFORMAT ou PCMWAVEFORMAT ), que para o áudio PCM (Pulse Code Modulation) reduz para a taxa de amostragem.
dwRate
Taxa em um formato inteiro. Para obter a taxa em amostras por segundo, divida esse valor pelo valor em dwScale.
dwStart
Número de exemplo do primeiro quadro do arquivo AVI. As unidades são definidas por dwRate e dwScale. Normalmente, isso é zero, mas pode especificar um tempo de atraso para um fluxo que não inicia simultaneamente com o arquivo.
A versão 1.0 das ferramentas AVI não dá suporte a uma hora de início diferente de zero.
dwLength
Comprimento desse fluxo. As unidades são definidas por dwRate e dwScale.
dwInitialFrames
Distorção de áudio. Esse membro especifica o quanto distorcer os dados de áudio à frente dos quadros de vídeo em arquivos intercalados. Normalmente, são cerca de 0,75 segundos.
dwSuggestedBufferSize
Tamanho de buffer recomendado, em bytes, para o fluxo. Normalmente, esse membro contém um valor correspondente à maior parte do fluxo. Usar o tamanho correto do buffer torna a reprodução mais eficiente. Use zero se você não souber o tamanho correto do buffer.
dwQuality
Indicador de qualidade dos dados de vídeo no fluxo. A qualidade é representada como um número entre 0 e 10.000. Para dados compactados, isso normalmente representa o valor do parâmetro de qualidade passado para o software de compactação. Se definido como –1, os drivers usarão o valor de qualidade padrão.
dwSampleSize
Tamanho, em bytes, de um único exemplo de dados. Se o valor desse membro for zero, os exemplos poderão variar de tamanho e cada amostra de dados (como um quadro de vídeo) deverá estar em uma parte separada. Um valor diferente de zero indica que vários exemplos de dados podem ser agrupados em uma única parte dentro do arquivo.
Para fluxos de vídeo, esse número normalmente é zero, embora possa ser diferente de zero se todos os quadros de vídeo tiverem o mesmo tamanho. Para fluxos de áudio, esse número deve ser o mesmo que o membro nBlockAlign da estrutura WAVEFORMAT ou WAVEFORMATEX que descreve o áudio.
rcFrame
Dimensões do retângulo de destino de vídeo. Os valores representam as coordenadas do canto superior esquerdo, a altura e a largura do retângulo.
dwEditCount
Número de vezes que o fluxo foi editado. O manipulador de fluxo mantém essa contagem.
dwFormatChangeCount
Número de vezes que o formato de fluxo foi alterado. O manipulador de fluxo mantém essa contagem.
szName[64]
Cadeia de caracteres terminada em nulo que contém uma descrição do fluxo.
Comentários
Observação
O cabeçalho vfw.h define AVISTREAMINFO como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
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] |
Cabeçalho | vfw.h |