Проблема с загрузкой звука в OpenAL - PullRequest
2 голосов
/ 12 августа 2011

У меня проблема с загрузкой звука с помощью OpenAL:

// in SoundManager.cs
public void LoadSound(string soundId, string path)
        {
            // Generate a buffer.
            int buffer = -1;
            Al.alGenBuffers(1, out buffer);
            int errorCode = Al.alGetError();
            System.Diagnostics.Debug.Assert(errorCode == Al.AL_NO_ERROR);
            int format;
            float frequency;
            int size;
            System.Diagnostics.Debug.Assert(File.Exists(path));
            IntPtr data = Alut.alutLoadMemoryFromFile(path, out format, out size,
            out frequency);
            System.Diagnostics.Debug.Assert(data != IntPtr.Zero, "Problem");
            // Load wav data into the generated buffer.
            Al.alBufferData(buffer, format, data, size, (int)frequency);
            // Everything seems ok, add it to the library.
            _soundIdentifier.Add(soundId, new SoundSource(buffer, path));
        }

// Form.cs
 private void InitializeSounds()
        {            
            _soundManager.LoadSound("effect", "soundA.wav");            
        }
  1. soundIdentifier - это словарь, в SoundSource я сохраняю информацию для звука, а первая строка - это нормальное имя для звука, например «корова», «лошадь» или что-то подобное.

  2. Я вызываю InitializeSounds из Form.cs, а LoadSound является методом для звукового менеджера.

  3. Alut.alutLoadMemoryFromFile вызывает ошибку, по какой-то причине возвращает нулевой указатель.

  4. Остальное - простой код, надеюсь, вы понимаете.

Я работаю в c # с Tao.OpenAL.

1 Ответ

0 голосов
/ 05 мая 2012

Вам необходимо переустановить open al.Перейдите сюда, чтобы переустановить.

http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx

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