Дилетант-полиглот
Начальник смены Array
Репутация: лучше не знать
Re: Процессорные ГУ с USB

Сообщение от
sta/s2z
Ну на самом деле не совсем так, wav это контейнер, в нем может быть все что угодно - mp3, ac3, adpcm, wma, ну и, конечно же, тот самый PCM.
Насколько я разбирался, идентификатор звук.данных может иметь только такие значения (это кусок из заголовка wav-файла):
typedef struct {
int type; - тип звуковых данных, бывает:
1 - просто выборка, PCM-поток;
0x101 - IBM mu-law;
0x102 - IBM a-law;
0x103 - ADPCM.
int channels; - число каналов 1/2
long SamplesPerSec; - частота выборки
long AvgBytesPerSec; - частота выдачи байтов
int align; - выравнивание
int bits; - число бит на выборку
} IDWave;
Как-то mp3 в этом конверте я до сих пор не встречал. Какое значение идентификатора int type ему соответствует?
А самым распространенной начинкой конверта является как раз ADPCM, причем настолько, что принимается по-умолчанию: wav = pcm.
P.S. ... вот разве что IBM mu-law, тут действительно сжатие на базе мпег.
Но это экзотика, реального хождения практически не имеющая.
Формально WAV может нести сжатые данные. Реально - никто этим не пользуется, и де-факто WAV используется только с PCM-потоком. При попытке любому аппаратному плееру подоткнуть wav с начинкой IBM mu-law, 99.9% случаев получим ответ "Not supported бла-бла-бла...." Поэтому я бы не стал про эту возможность даже вспоминать.
Социальные закладки