Воспроизведение звуков с C ++? - PullRequest
4 голосов
/ 26 апреля 2009

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

Ответы [ 5 ]

19 голосов
/ 26 апреля 2009

Стандарт C ++ не включает эту функциональность. Это означает, что это зависит от того, что предлагает ваша система.

Для Windows вы можете попробовать что-то вроде PlaySound .

Однако лучше всего использовать уже существующую библиотеку, например:

Поиск C ++ Sound Library вызывает много информации.

Также ознакомьтесь с этими тремя другими SO темами :

2 голосов
/ 26 апреля 2009

Хотя вышеупомянутый ответ упоминает это (и все остальное, он не дает никаких рекомендаций, так что ...), FMOD - король звука C ++ (наиболее часто используемый) и прекрасно работает, поэтому я рекомендую FMOD в частности .

1 голос
/ 28 апреля 2009

Gstreamer - это бесплатная кроссплатформенная мультимедийная среда, написанная на C (использующая GObject ), которая позволяет кодировать / декодировать для многих типов носителей, включая wma. Очень прост в использовании и хорошо документирован.

0 голосов
/ 29 апреля 2009

Для Windows, честно говоря, ваш лучший выбор - DirectShow. API RenderFile позволяет воспроизводить большинство типов аудиофайлов всего несколькими строками кода.

Самое приятное в DirectShow - это то, что это часть платформы Windows, поэтому вам не нужно связывать внешний компонент.

0 голосов
/ 27 апреля 2009

KDE's Phonon - это кроссплатформенная (!) Мультимедийная библиотека C ++. Он поддерживает родные звуковые системы в качестве бэкэндов. Стоит взглянуть, если вы этого раньше не видели, а простой видеоплеер можно записать всего за 83 строки кода.

...