2009-04-21 5 views
3

Я написал приложение, которое получает медиафайлы с центрального сервера и воспроизводит эти файлы в соответствии с плейлистом. Все работает хорошо. Клиент связался с нами и хочет использовать наше приложение для воспроизведения некоторых аудиофайлов в виде презентаций в приложении в стиле киосков. Пока что так хорошо, наше приложение может справиться с этим без проблем.Воспроизведение нескольких аудиопотоков одновременно из одного аудиофайла

Он запросил в качестве потенциальной возможности, что у нас будет несколько разъемов для наушников в передней части киоска. Каждое гнездо для наушников будет воспроизводить ту же аудиопрезентацию на другом языке.

Я придумал идею кодирования одного аудиофайла с презентацией на нескольких языках и на каждом языке в другом канале. Затем нам понадобится звуковая карта, которая может декодировать каждый канал и выводить его на другой разъем для наушников. Вещь, хотя я думаю, что теория звучит, я абсолютно не знаю, возможно ли это, и что потребуется, чтобы снять ее.

Любые идеи ?!

В качестве примечания: приложение использует Media Player в качестве основного компонента для обработки воспроизведения аудио и видео. Я был бы признателен за любую помощь в отношении программного обеспечения, которое мы могли бы использовать для создания многоканального аудиопотока и аппаратного обеспечения (звуковая карта USB была бы прекрасна), которую мы могли бы использовать для декодирования потока. Спасибо!

+0

проделать несколько потоков –

+0

Я не вижу, как поможет нить. Даже если я создаю несколько экземпляров элемента управления Media Player для воспроизведения файла, у меня все еще возникнет проблема разделения аудиопотоков на разные разъемы для наушников. – Phill

ответ

2

Вам нужно использовать несколько файлов, а не каналы, и это будет проще.
Вместо использования Media Player используйте DirectShow (на .NET у вас есть DirectShow.NET). В DirectShow у вас есть обозначение нескольких файлов на одном и том же графике.

Вы можете управлять воспроизведением аудиоустройства, какие файлы и ваши команды Play, Pause, Stop будут предварительно сформированы на всех файлах, если вам не нужно беспокоиться о синхронизации. Есть много примеров того, как создавать медиаплеер, как с DiectShow, продлить их на использование нескольких файлов, должно быть очень просто.

Для взять HW взглянуть на this (USB с 8 выходных каналов)

+0

Шей, спасибо за ваш ответ. Существует значительный объем кода, написанного вокруг управления плейлистами, и у нас нет поддержки одновременного воспроизведения нескольких элементов. Вот почему я надеялся, что мы сможем избежать этого. Я надеялся, что это будет способ сделать это только с одним файлом. Хорошая находка на оборудовании! – Phill

2

Я думаю, с оборудованием Шей в вы получили полное решение: Encode 7.1 файл с другой моно голосовой дорожки на каждом канале. Используйте 8-канальное устройство вывода в режиме 7.1 с другой гарнитурой в каждом порту, и у вас есть это. Или, если у вас есть только 6 языков, файл 5.1 будет работать. У многих ПК есть встроенные входы 5.1, вам потребуется всего 3 разветвителя, чтобы разбить левый и правый каналы с каждого разъема.

Вы можете сделать кодировку с помощью Windows Media Encoder или другого про аудио-инструмента.

Смежные вопросы