Ni55aN
@Ni55aN

Настройка OpenAL на Ubuntu?

В alsoft.conf прописал
drivers = port,alsa

Установил OpenAL, ALSA, собрал и установил PortAudio

Если прописать только alsa, получае

AL lib: (WW) alc_initconfig: No playback backend available!
AL lib: (WW) alc_initconfig: No capture backend available!

иначе при port

AL lib: (EE) ALCportPlayback_open: Pa_OpenStream() returned an error: Invalid device


То же самое и не хочет работать в OSS

AL lib: (EE) ALCplaybackOSS_open: Could not open /dev/dsp: No such file or directory


Хотя при сборке PortAudio указывает

Configuration summary:

Target ...................... x86_64-unknown-linux-gnu
C++ bindings ................ no
Debug output ................ no

ALSA ........................ yes
ASIHPI ...................... no

OSS ......................... yes
JACK ........................ no


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

Исходник

#include <AL/al.h>
#include <AL/alc.h>
#include <AL/alut.h>
#include <stdio.h>

// gcc -o simplealut simplealut.c `pkg-config --libs freealut`
//
#define FILENAME "sample.wav"

int main(int argc, char **argv) {

    ALuint buffer, source;
    ALint state;

    // Initialize the environment
    alutInit(0, NULL);

    // Capture errors
    alGetError();

    // Load pcm data into buffer
    /*   buffer = alutCreateBufferFromFile(FILENAME);

       // Create sound source (use buffer to fill source)
       alGenSources(1, &source);
       alSourcei(source, AL_BUFFER, buffer);

       // Play
       alSourcePlay(source);

       // Wait for the song to complete
       do {
           alGetSourcei(source, AL_SOURCE_STATE, &state);
       } while (state == AL_PLAYING);

       // Clean up sources and buffers
       alDeleteSources(1, &source);
       alDeleteBuffers(1, &buffer);
     */
    // Exit everything
    alutExit();

    return 0;
}
  • Вопрос задан
  • 928 просмотров
Решения вопроса 1
Ni55aN
@Ni55aN Автор вопроса
И не прошло 10 минут, как я после установки ALSA пересобрал и переустановил OpenAL, вот это и решило проблему

П.С. Уже не первый раз так
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы