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


Потоки аудио и подпиктуры

[Функция, связанная с этой страницей, 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-приложения