Новые возможности api core Audio в Windows 7
В Windows Vista появились ОСНОВНЫЕ API аудио, которые предоставили новый набор компонентов аудио в режиме пользователя, которые клиентское приложение может использовать для отрисовки или записи аудиопотоков с улучшенными возможностями звука. Общие сведения об этом наборе API см. в разделе О Windows Core Audio API.
В Windows 7 улучшены основные API аудио. В следующей таблице приведены новые функции и улучшения api core Audio:
Особенность | Описание |
---|---|
Универсальные улучшения | В Windows 7 улучшены следующие функции:
|
Устройство связи (новое) | В этом выпуске в контрольную панель Звуки добавлен новый тип устройства: Коммуникации устройство. Это устройство используется в основном для связи, то есть для размещения или приема телефонных звонков на компьютере. Приложение связи может использовать компоненты Core Audio для получения ссылки на конечную точку устройства связи по умолчанию и отрисовки аудиопотоков для общения. Операционная система считает, что поток, открытый на устройстве связи, является потоком связи. Операции WASAPI в потоке коммуникации похожи на любой другой аудиопоток. Дополнительные сведения см. в разделе Работа с ролями устройств. |
Потоковая аттенуация или подавление звука (новое) | Автоматическое понижение уровня звука или ослабление потока — это новая функция в Windows 7, предназначенная для приложений VoIP и унифицированных коммуникаций. По умолчанию операционная система уменьшает интенсивность аудиопотока при получении потока связи, например телефонного звонка, на устройстве связи через компьютер. Параметры громкости задаются пользователем на панели управления Sound. Новые API были добавлены в пакет Windows SDK, которые позволяют приложениям заменить поведение уменьшения громкости по умолчанию. Дополнительная информация о внедрении пользовательской функции снижения звука см. в разделе Предоставление пользовательского управления звуком. |
Маршрутизация потоков (новая) | В Windows 7 API Core Audio были улучшены для бесперебойной передачи аудиопотока с существующего устройства на новую аудио конечную точку по умолчанию. Высокоуровневые наборы API аудио, использующие ОСНОВНЫЕ API аудио, такие как Media Foundation, DirectSound и API WAVE, реализуют функцию маршрутизации потоков. Приложения мультимедиа, использующие эти наборы API для воспроизведения или записи потока, используют реализацию по умолчанию и не должны изменять приложение. Однако если ваше приложение мультимедиа использует api Core Audio напрямую, приложение должно предоставить реализацию маршрутизации потоков. Для этого приложение должно обрабатывать новые события, которые были добавлены, уведомляющие клиента WASAPI о подключении или удалении устройства по умолчанию. Дополнительные сведения об этой функции см. в разделе "Маршрутизация потоков". |
Защищенный звук в режиме пользователя (PUMA) (улучшено) | PUMA обновлена для Windows 7, чтобы предоставить следующие возможности:
|
Структура WAVEFORMATEXTENSIBLE была расширена до структуры WAVEFORMATEXTENSIBLE_IEC61937 (новая версия) | В Windows 7 добавлена новая структура для поддержки передач IEC 61937.
WAVEFORMATEXTENSIBLE_IEC61937 расширяет структуру WAVEFORMATEXTENSIBLE для хранения двух наборов характеристик аудиопотока: закодированного аудиоформата перед передачей и характеристиками аудиопотока после его декодирования. Новая структура явно указывает эффективное количество каналов, размер выборки и скорость данных формата, отличного от PCM. С помощью этих сведений приложение может определить уровень качества потока, отличного от PCM, после его распаковки и воспроизведения. Дополнительные сведения см. в разделе Представления форматов для передачи IEC 61937. |
IAudioClient::Initialize (улучшено) | Метод IAudioClient::Initialize был улучшен, чтобы указать определенные ошибки, которые могут возникнуть при открытии аудиопотока. Новые коды ошибок:
|
IAudioCaptureClient::GetBuffer и IAudioRenderClient::GetBuffer (улучшено) | методы IAudioCaptureClient::GetBuffer и IAudioRenderClient::GetBuffer были улучшены, чтобы вернуть код ошибки AUDCLNT_E_BUFFER_ERROR, указывающий, что буфер конечной точки в монопольном режиме не был получен. Дополнительные сведения см. в разделе "Примечания" в IAudioCaptureClient::GetBuffer и IAudioRenderClient::GetBuffer. |
Возможность обнаружения Джека (улучшено) | Новый интерфейс в Windows 7 IKsJackDescription2расширяет IKsJackDescription. Используя новый интерфейс, стек звука или приложение может получить дополнительные сведения о джеке. Это включает возможность обнаружения разъема и возможность динамических изменений формата устройства. |
Примеры Windows (новые) | Новые примеры были добавлены в пакет SDK для Windows, демонстрирующий использование ОСНОВНЫХ API аудио. Дополнительные сведения см. в примерах пакета SDK , использующих основные API аудио. |
Основные новые интерфейсы
Следующие интерфейсы являются новыми для Windows 7:
- IAudioClock2
- IAudioClockAdjustment
- IAudioEndpointVolumeEx
- IAudioSessionManager2
- IAudioSessionControl2
- IAudioSessionEnumerator
- IAudioSessionNotification
- IAudioVolumeDuckNotification
- IKsJackDescription2
- IKsJackSinkInformation
Связанные разделы