Estrutura AVISTREAMINFOA (vfw.h)
A estrutura de AVISTREAMINFO
Sintaxe
typedef struct _AVISTREAMINFOA {
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;
char szName[64];
} AVISTREAMINFOA, *LPAVISTREAMINFOA;
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 de 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 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
dwRate
Taxa em um formato inteiro. Para obter a taxa em exemplos 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 é iniciado simultaneamente com o arquivo.
A versão 1.0 das ferramentas AVI não dá suporte a um horário de início diferente de zero.
dwLength
Comprimento desse fluxo. As unidades são definidas por dwRate e dwScale.
dwInitialFrames
Distorção de áudio. Este membro especifica o quanto distorcer os dados de áudio antes 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
rcFrame
Dimensões do retângulo de destino do 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 do 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.
Observações
Nota
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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
cabeçalho | vfw.h |