В каком формате аудиопоток передается до звуковой карты?

StackOverflow https://stackoverflow.com/questions/548995

  •  23-08-2019
  •  | 
  •  

Вопрос

Я хочу манипулировать аудиопотоком до того, как он попадет на звуковую карту.Поэтому я хочу использовать SAPO от Microsoft для управления аудиопотоком в звуковом движке (аудиоархитектура Vista).

На самом деле мой основной вопрос заключается в том, в каком формате находится аудиопоток.Не знаю, но думаю, что это формат WAVE или RIFF.Может ли кто-нибудь помочь мне в этом случае?:)

Это было полезно?

Решение

обычно большинство звуковых карт работают с 16-битными целыми числами со знаком, представляющими линейный звук PCM:[http://en.wikipedia.org/wiki/Linear_pulse_code_modulation] однако это не всегда случай (просто типичный).как правило, если ваши аудио API еще не преобразуют этот «необработанный» звук в представление с плавающей запятой, вам понадобится некоторый код для этого, если только вы не особенно любите выполнять математические операции с целыми числами.

как уже указывал Ларри, многие API будут выполнять преобразование с плавающей запятой за вас и просто передавать буфер чисел с плавающей запятой, соглашение заключается в том, что они представляют собой значения от -1 до 1.

|К<

Другие советы

Судя по всему, формат обсуждается.

Ваш APO сообщает звуковому движку, какие форматы ввода и вывода он поддерживает, движок выдаст ему все, что вы ему скажете (на самом деле это не на 100% точно - это примерно правильно, и вам нужно прочитать документацию APO для получения полной информации).

Фактические аудиоданные будут такими, какие указаны, обычно это 32-битные выборки с плавающей запятой с амплитудой от -1,0 до 1,0.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top