2013-10-08 1 views
1

У меня Windows 8 KN (версии N без Media Player и его компонентов).NAudio в Windows «N» версии

У этого нет никаких ACM-декодеров, поэтому я установил LAME MP3 ACM. (как 32, так и 64 бит)

Я проверил его, несмотря на демонстрационное приложение NAudio, и оно есть.

Но если я попытаюсь воспроизвести MP3 (даже через демо-приложение), он сбой «AcmNotPossible вызывает AcmStreamOpen».

Можно ли воспроизводить аудио с помощью NAudio без установки медиа-пакета для этих версий окон? Использует ли NAudio только кодек ACM или некоторые из этих компонентов Windows?

EDIT: После установки Windows6.2-KB2703761-x64 (Media Feature Pack для версий N и KN для Windows 8) работает NAudio.

Итак, мой вопрос: «Есть ли способ воспроизвести MP3 с помощью NAudio и .NET, который не требует, чтобы это было установлено?».

screenshots

ответ

1

Чтобы использовать любой ACM кодек, то WAVEFORMATEX вы передаете должны соответствовать именно то, что кодек хочет. Вероятно, кодек LAME MP3 использует различные структуры для Fraunhofer, который поставляется с Windows. Вы можете изучить структуры входных и выходных сигналов, используя приложение NAudioDemo, глядя на страницу ACM.

MP3FileReader позволяет подключаемый модуль распаковки MP3-файлов, поэтому, если декодер MP3-файлов DirectX Media можно настроить MP3FileReader, чтобы использовать его с конструктором, который использует func для создания IMp3FrameDecompressor. Если это не сработает, вы можете реализовать свою собственную функцию IMp3FrameDecompressor, которая использует любой кодек, который вам нравится, или даже полностью управляемый (например, с использованием NLayer). В конечном счете, это, вероятно, ваш лучший вариант, если вы не хотите вообще полагаться на то, какие кодеки установлены на машине.

+1

Привет, моя проблема не в том, что waveformat работает с кодеком LAME. Если я установлю Media Feature Pack, он будет работать. Но этого я и хочу избежать. По нашему мнению, установка дополнительных обновлений для Windows не проходит. Оба ACM и DMO не работают в качестве декомпрессоров кадров без медиа-пакета. Что касается NLayer: я пробовал, так как некоторые файлы выходят из строя в Nlayer при их воспроизведении (чтение последнего конца потока), и поскольку я не знаю, как исправить ошибки, я решил избежать этого. –

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