OpenAL - как воспроизводить безудержные звуковые эффекты? - PullRequest
4 голосов
/ 02 марта 2011

Я использую OpenAL в своем проекте iPhone для создания звуков, которые затухают при удалении от слушателя.

Однако - я также хочу воспроизвести некоторые звуковые эффекты, которые не должны уменьшаться на расстоянии.

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

Моим следующим решением было установить «AL_MIN_GAIN» источника, воспроизводящего сэмплы голоса, на 1,0, но, похоже, это работает только на симуляторе, а не на устройстве.

Существуют ли другие способы воспроизведения звуковых эффектов с помощью openAL, которые не должны уменьшаться на расстоянии?

Ответы [ 3 ]

5 голосов
/ 04 марта 2011
alSourcei (sourceName, AL_SOURCE_RELATIVE, AL_TRUE);
alSource3f (sourceName, AL_POSITION, 0.0f, 0.0f, 0.0f);
alSource3f (sourceName, AL_VELOCITY, 0.0f, 0.0f, 0.0f);

И тогда источник должен оставаться на месте слушателя.

1 голос
/ 02 марта 2011

Вы можете попробовать открыть второй контекст, в котором нет модели расстояния. Я не уверен, поддерживает ли iOS несколько контекстов или нет ...

Либо просто держите ваши «голосовые» источники в том же положении, что и слушатель.

0 голосов
/ 19 декабря 2016

Просто используйте

alSourcei(id, AL_DIRECT_CHANNELS_SOFT, 1)

AL_DIRECT_CHANNELS_SOFT макрос определен в <AL/alext.h>

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