Russian Qt Forum
Сентябрь 21, 2024, 12:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: сторонние библиотеки для работы со звуком  (Прочитано 8816 раз)
Tirex
Гость
« : Апрель 10, 2006, 21:30 »

Кто с какими работал? какие проще заставить работать с QT?
под win и linux?
пытался скомпилить sdl :

#include "include/SDL.h"

    if ( SDL_Init(SDL_INIT_AUDIO) < 0 ) {
        QMessageBox::critical(0, "SDL Error",
                      QString("SDL was not loaded "));
    }

получаю сообщение undefined reference to SDL_init.
Записан
Steven_Orko
Гость
« Ответ #1 : Апрель 11, 2006, 01:18 »

Ну, дык либу SDL тоже надо в проект подключать ))
Записан
Tirex
Гость
« Ответ #2 : Апрель 11, 2006, 05:47 »

Цитировать
Ну, дык либу SDL тоже надо в проект подключать ))

не стесняйтесь обьяснять поподробнее Улыбающийся.
Т.е. если я сижу с code::block просто указать путь в настройках проекта до бибилотек (libSDL.a  и т.д.) sdl?или ?
Записан
Dendy
Гость
« Ответ #3 : Апрель 11, 2006, 08:54 »

Дак, Криатив толкает OpenAL, отличньІй инструмент для позиционированного звука. Для сжатого звука юзать Vorbis, для речи - Speex.

http://www.openal.org
http://www.xiph.org
Записан
Tirex
Гость
« Ответ #4 : Апрель 11, 2006, 11:17 »

я бы с удовольствием попробовал и openal если кто-нибудь
 подскажет мне как это сделать.

подключил файлы libSDL.a в меню
Project -> Build options -> link libraries
 все равно пишет что не знает SDL_INIT
Записан
Dendy
Гость
« Ответ #5 : Апрель 11, 2006, 12:07 »

Элементарнее работы с OpenAL ничего нет. В SDK найдёшь все необходимые примеры.

Тривиальный пример. Создаём устройство и контекст, источник звука и буффер, который он будет проигрывать.

Код:
device = alcOpenDevice( 0 );
context = alcCreateContext( device, 0 );
alcMakeContextCurrent( context );

int source, buffer;
alGenSources( 1, &source );
alGenBuffers( 1, &buffer );

...

QByteArray sound_data;
// Load sound data from something to sound_data
alBufferData( buffer, AL_FORMAT_STEREO16/*num channels*/, sound_data.constData(), sound_data.size(), 44100/*frequency*/ );

alSourcei( source, AL_BUFFER, buffer );
alSourcePlay( source );

...

alcDestroyContext( context );
alcCloseDevice( device );


Дёшево и сердито :-D
Записан
Tirex
Гость
« Ответ #6 : Апрель 11, 2006, 12:28 »

Спасибо за пример!
вот только у меня та проблема что писал выше, либы, подключил путь прописан, (в makefiles он есть) что еще нехватает?
Записан
Steven_Orko
Гость
« Ответ #7 : Апрель 11, 2006, 23:02 »

Если ты имеешь ввиду, что у тебя до сих пор анреферес резолвед )))), то посмотри, возможно используется условная компиляция. Ну, там какие флаги препроцессору надо указать, чтобы определенный код был открыт.
У меня так было в либами к СУБД Линтер, пока не укажешь два объявления, будет писать, что неизвестное связывание...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 21.