Воспроизведение звука в C ++ - PullRequest
0 голосов
/ 28 ноября 2010

Мне нужно воспроизвести звук в C ++.Он должен быть совместим на всех платформах.

Спасибо,

goerdy

Ответы [ 4 ]

4 голосов
/ 28 ноября 2010
std::cout << "\a\a\a\a\a\a\a\a";

)))

4 голосов
/ 28 ноября 2010

Попробуйте OpenAL, FMOD или SDL_mixer. Выбор широк.

2 голосов
/ 30 ноября 2010

Мое предложение - использовать OpenAl (3D кроссплатформенный Audio API)

Его довольно легко освоить, и он предполагает такой же поток программирования, что и OpenGl. Это бесплатно и имеет различные расширения для использования звуковых карт. OpenAl имеет библиотеку, похожую на OpenGl Utility Toolkit (GLUT), которая называется freealut. Это делает вещи еще проще.

Это может быть хорошим местом для начала: http://www.devmaster.net/articles/openal/

Некоторые функции в этом коде устарели, но, прочитав документацию, вы сможете обновить ее.

В руководстве devmaster также рассказывается, как загружать файлы ogg vorbis (без лицензионных отчислений) в память и воспроизводить их. Вам нужно скачать и собрать libvorbis и libogg, чтобы сделать это, но есть хорошая документация и, если вы используете Visual Studio, уже готовые решения.

Тот факт, что Creative Labs (крупнейший производитель звуковых карт) является основным спонсором проекта, является отличным аргументом в его пользу. Оборудование не будет проигнорировано.

И последнее, не забудьте скачать OpenAl SDK и ссылаться на соответствующие библиотеки и включать каталоги. Всегда много людей спрашивают, какие именно файлы хранятся внутри него.

0 голосов
/ 28 ноября 2010

«Совместимо со всеми платформами» - сложная задача. В конце концов, «все платформы» включают в себя контроллер в вашей машине, регулятор на атомной станции и маршрутизатор в вашей сети.

Если вы имеете в виду «все настольные платформы», возможно, вам повезет больше. Хотя невозможно воспроизвести звук в 100% стандартах C ++, есть доступные библиотеки. Тем не менее, я не думаю, что даже они дадут вам «все платформы». Готовы ли вы согласиться на «наиболее распространенные платформы»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...