Эта публикация перенесена в раздел уроков по адресу Звук в игре (мультимедиа). К ней прикреплена новая отдельная ветка комментариев форума, которую вы можетет найти после текста публикации. Обсуждение публикации рекуомендуется вести по новому адресу, который указан выше.
Воспроизведение звуковых файлов, в играх, и не только, с помощью простой и удобной библиотеки audiere (С++) Звук в игре - одна из основных неотъемлемых составляющих, добавляющая реалистичности и играбельности. Поэтому, звук должен хотя бы присутствовать. В этом топике я разберу базовый код, для воспроизведения звуковых файлов с помощью библиотеки audiere. [spoiler]
Audiere - это очень простая и удобная, кроссплатформенная, высокоуровневая библиотека для воспроизведения звуковых файлов.
Она может воспроизводить, следующие типы файлов:
Ogg (Vorbis),
MP3,
несжатый WAV,
FLAC,
AIFF,
MOD,
S3M,
XM,
IT.
И так приступим! Сперва, очевидно нужно заполучить эту библиотеку: скачать (Windows) и установить в SDK или же ее можно использовать локально.
Пользователи Linux должны установить audiere с репозитория, ну или собрать из исходников)=)
Пользователи Ubuntu могут воспользоваться подсказкой с данного скриншота:
здесь просто показано, как был вбит в поиск audiere, в центре приложений Ubuntu.
Теперь приступим собственно к программированию Здесь показан пример просто демонстрирующий возможности библиотеки.
/*http://esate.ru, Flashhell*/
#include <string> //подключаем заголовочный файлы
#include <iostream>
using namespace std; //включаем использование пространства имен
#include <audiere.h>
using namespace audiere;
int main(int argc, char **argv)
{
string filename; //Создаем строку которая будет содержать путь к файлу
cout << "Enter the filename "; //Запрашиваем путь к файлу
cin >> filename; //Вводим строку
AudioDevicePtr device = OpenDevice();//Открываем аудио устройство
OutputStreamPtr sound(OpenSound(device, filename.c_str(), false));// Открываем аудио поток.
//Первый параметр OpenSound - устройство, второй путь в C строке(const char *filename),
//третий параметр указывает, воспроизводить ли в потоке
sound->play(); // воспроизводим поток
sound->setRepeat(true); //Включаем повторение
sound->setVolume(1.0f); //Устанавливаем громкость
int i;
cin>>i; //Ожидаем ввода
return 0;
}
Линкуем И так код есть, пора настроить линкер. Вот скрин подсказывающий как пролинковать в Code::Blocks
К сожалению, как пролинковать в другой IDE я не могу продемонстрировать.(( Вот статья как компилить и линковать в Linux. Можно также воспользоваться этим макросом(Windows):
После компиляции и запуска вводим полный путь к файлу, и радуемся воспроизведению)))
Запомните инициализация устройства(device) должна производиться один раз в начале работы приложения, иначе производительность может сильно упасть.
ЗаключениеAudiere - удобна, проста и переносима, и отлично подойдет для простых игр(казуалок). Но для более интересных трехмерных игр нужны 3D эффекты звука, которые отсутствуют в audiere.
Понравилась публикация? Сохраните ее, чтобы вернуться к изучению материала!
0 1777
15.08.2011
Внимание!
Эта публикация перенесена в раздел уроков по адресу Звук в игре (мультимедиа). К ней прикреплена новая отдельная ветка комментариев форума, которую вы можетет найти после текста публикации.
Обсуждение публикации рекуомендуется вести по новому адресу, который указан выше.
Стоит ли переходить на Windows 10?Windows 10 установлена на каждый 3-й компьютер. Какие плюсы от перехода? DirectX 12 работает только в Windows 10?
Как установить Windows 10?Как бесплатно и легально скачать? Как записать и установить с последними обновлениями?