Воспроизведение аудиопотоков караоке

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

DVD-навигатор может воспроизводить DVD-Video дисках с караоке аудиопотоками, но для воспроизведения караоке также требуется декодер, поддерживающий мультиканальное смешивание караоке. В частности, декодер должен поддерживать набор свойств DVD Караоке (AM_PROPERTY_DVDKARAOKE).

Караоке-диски являются типом DVD-Video диска и имеют одинаковую структуру навигации. Песни обычно форматируются как названия, а названия можно сгруппировать в наборы заголовков на основе исполнителя, музыкального стиля или других критериев. Main разница между караоке и другими типами DVD-Videos является аудиопоток. Караоке-диски все содержат многоканальный звук, обычно Dolby AC-3. Каналы 0 и 1 всегда содержат фоновую инструментальную музыку, в то время как каналы с 2 по 5 могут содержать любое сочетание направляющих вокал, направляющих мелодий и звуковых эффектов. Приложение караоке может контролировать громкость и целевой динамик для каждого вспомогательного канала.

Когда DVD-навигатор обнаруживает содержимое караоке на диске и переходит в режим караоке, он сообщает декодеру, который затем должен отключить три верхних канала (вспомогательные каналы), пока любой из них или все из них не будут явно включены приложением. Основными задачами приложения караоке являются:

  1. Определите количество вспомогательных каналов и их содержимое с помощью методов IDvdInfo2 .
  2. Предоставьте пользовательский интерфейс, который отображает содержимое канала и позволяет пользователям включать или отключать любой вспомогательный канал в любое время с помощью IDvdControl2::SelectKaraokeAudioPresentationMode.

Эти шаги показаны в примере приложения DVD в DVDCore.cpp в методе GetAudioAttributes .

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