Поделиться через


Аудио- и вложенные потоки

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Диск DVD-Video может содержать до восьми аудиопотоков, нумеруемых от нуля до семи, каждый из которых содержит до шести дискретных каналов. (Обратите внимание, что звуковые и вложенные потоки нумеруются с нуля, а названия, углы и родительские уровни нумеруются из единицы.) В любой момент времени можно выбрать только один из этих потоков. Для вложенных примеров доступно до 32 потоков, хотя в любой момент времени можно активировать только один поток. Диски обычно создаются с аудиопотоками по умолчанию и вложенными потоками, но приложение может позволить пользователям просмотреть список всех доступных потоков и выбрать один из них на предпочитаемом им языке. Основные шаги в этом процессе одинаковы для аудио- и вложенных потоков.

  1. Определите количество потоков, доступных для заголовка.
  2. Выполните итерацию по потокам и получите атрибуты потока для каждого из них.
  3. Извлеките код языка из возвращенного кода языкового стандарта (LCID) и создайте удобочитаемую строку.
  4. Заполните поле списка или другой элемент управления пользовательского интерфейса, чтобы пользователь мог выбрать предпочтительный поток.

В примере приложения для DVD метод CAudioLangDlg::MakeAudioStreamList в Dialogs.cpp демонстрирует основные шаги.

Dvd-приложения