WAVEFORMATEX (SAPI)
9/8/2008
Essa estrutura contém informações comum a todos os formatos de áudio em formato wave dados. Para formatos exigir informações adicionais, essa estrutura é incluída como o primeiro membro em outra estrutura que define as informações adicionais.
Syntax
typedef struct WAVEFORMATEX{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
} WAVEFORMATEX;
Members
- wFormatTag
Tipo de forma de onda formato de áudio. Formato marcas são registradas com Microsoft Corporation para Muitos algoritmos compactação. Um lista completa de marcas formato encontra-se no arquivo de cabeçalho Mmsystem.h.
- nChannels
Número de canais no áudio de forma de onda dados. Dados estéreo monaural dados usa canalizar um e dois canais.
- nSamplesPerSec
Taxa de exemplo, em amostras por segundo (Hertz), no qual cada canalizar deve ser executado ou registrado. Se wFormatTag WAVE_FORMAT_PCM, é comum valores para nSamplesPerSec São possível 8.0, possível 11.025, 22.05 possível e 44,1 possível. Para formatos não-PCM, esse membro deve ser calculado de acordo com especificação do fabricante da marca de formato.
nAvgBytesPerSec
Necessário médio taxa, em bytes por segundo, para a marca formato transferência de dados. Se wFormatTag é WAVE_FORMAT_PCM, nAvgBytesPerSec Deve ser igual ao produto do nSamplesPerSec e MapVirtualKey. nBlockAlign. Para formatos não-PCM, esse membro deve ser calculado de acordo com especificação do fabricante da marca de formato.Software de reprodução e registro pode estimar reserva tamanhos usando o nAvgBytesPerSec membro.
nBlockAlign
Bloquear alinhamento, em bytes. O alinhamento bloco é a unidade atômica mínima de dados para o tipo formato especificado por wFormatTag. Se wFormatTag é WAVE_FORMAT_PCM, nBlockAlign Deve ser igual ao produto do nChannels e MapVirtualKey. wBitsPerSample, dividido por 8 (bits por byte). Para formatos não-PCM, esse membro deve ser calculado de acordo com especificação do fabricante da marca de formato.Software de reprodução e registro deve processo um múltiplo de nBlockAlign bytes de dados em um tempo. Dados gravados e ler de um dispositivo devem sempre iniciar no início de um bloco. Por exemplo, é ilegal para iniciar reprodução de dados de PCM in the middle of um exemplo (isto é, em um limite non-Block-aligned).
- wBitsPerSample
Bits por exemplo para tipo de formato especificado por wFormatTag. Se wFormatTag é WAVE_FORMAT_PCM, wBitsPerSample Deve ser igual a 8 ou 16. Para formatos não-PCM, esse membro deve ser definido de acordo com especificação do fabricante da marca de formato. Como alguns esquemas compactação não é possível definir um valor para wBitsPerSample, esse membro pode ser definido como zero.
- cbSize
Tamanho, em bytes, do adicional informações formato acrescentadas ao final das WAVEFORMATEX estrutura). Este informações podem ser usadas por não-PCM formatos para armazenar adicional atributos de tipo de formato especificado por wFormatTag. Se nenhum adicional informações é exigido, esse membro deve ser definido como zero. Para apenas formatos WAVE_FORMAT_PCM, esse membro será ignorado.
Requirements
Header | sapi.h, sapi.idl |
Windows Embedded CE | Windows CE .NET 4.1 and later |