Вы должны понимать, что WAV-файлы (и тем более AAC-файлы) не являются одинаковыми. Я расскажу только о WAV-файлах, надеюсь, вы поймете, как обстоят дела с AAC-файлами. Как вы указали, WAV-файл содержит данные в формате PCM. Однако это может быть: 8-битный, 16-битный, 32-битный, ... моно, стерео, 5.1, ..., 8 кГц, 16 кГц, 44,1 кГц и т. Д. В зависимости от этих значений вы должны интерпретировать данные ( например, при чтении с помощью функции fread () - по-другому. Поэтому WAV-файлы имеют заголовок. Вы должны сначала прочитать этот заголовок стандартным способом (я не знаю деталей). Тогда вы знаете, как читать фактические данные. Поскольку это не так просто, я предлагаю вам использовать одну из библиотек, которая читает для вас WAV-файлы, например, http://www.mega -nerd.com / libsndfile / . Конечно, вы также можете Google или использовать SO, чтобы найти других. Или вы делаете это трудным путем и узнаете, как выглядят заголовки WAV-файлов, и сначала декодируете эти данные, а затем переходите к фактическим данным в формате PCM.