Как гласит заголовок, звуки будут звучать просто смехотворно тихо.Я думал, что он вообще не играл, пока не услышал едва слышные звуки на максимальной громкости.
Это было хорошо в течение нескольких недель.Не проблема.Внезапно он начал делать это из ниоткуда.Я пытался очистить / перестроить, перезапустить Xcode, перезапустить устройство и т. Д. Ничто не помогает.Это просто внезапно вернется снова в случайной сборке.Это действительно начинает меня расстраивать, и я разочарован тем, что перешел на OpenAL, так как это не первая проблема, с которой я столкнулся всего за несколько недель его использования.Я не могу выпустить ничего со звуком, который МОЖЕТ иногда работать.
Я использую AVAudioPlayer одновременно для воспроизведения фоновой музыки, и у меня не было ни одной проблемы с этим.
У кого-нибудь есть идеичто может быть причиной этого?
В ответ на user1260708:
Мой метод инициализации выглядит следующим образом
bool D2DSoundController::init(Map<D2DSound> *sounds) {
if (!_initialzed) {
OSStatus result = AudioSessionInitialize(NULL, NULL, &_interruptionListener, (void*)_context);
ulong cat = kAudioSessionCategory_MediaPlayback;
result |= AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(cat), &cat);
_sounds = sounds;
_device = alcOpenDevice(0);
if (_device != 0) {
_context = alcCreateContext(_device, 0);
if (_context != 0) {
alcMakeContextCurrent(_context);
alGenSources(_numSources, _sources);
//alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED);
//alListener3f(AL_POSITION, 300.0f, 200.0f, 0.0f); --- I think this was the problem?
_initialzed = true;
return (alGetError() == 0 && result == 0);
}
return false;
}
return false;
}
return false;
}
Однако я думаю, что янашел проблему.Закомментировав вызов alListener3f (только что заметил, что строка выше закомментирована некоторое время), он снова работает.Я не понимаю, почему это внезапно стало проблемой, поскольку это было там все время;Дистанционная аттенюация также не работала для меня (причина, по которой вызов был там, во-первых, для тестирования), поэтому я решил в целом не использовать его, но, думаю, я забыл удалить эту строку.См. Этот вопрос: Затухание расстояния с помощью OpenAL на iPhone / iPod
Любой вклад в вопрос об аттенюации (который также является корнем этого) был бы великолепен!
Как я отмечаю, с тех пор как я отбросил аттенюацию, я также использовал стерео, что не должно на это влиять, поэтому я все еще в замешательстве.