Я использую XAudio2 для воспроизведения звуков в моей игре. У меня около 16 исходных голосов, из которых 3 являются эффектами зацикливания, которые должны воспроизводиться как фоновая музыка. У меня есть другая фоновая музыка, которая начинает играть через равные промежутки времени (после завершения она ждет 1 минуту и перезапускается). Всякий раз, когда нужно воспроизвести другой эффект, такой как нажатие кнопки, выстрел пистолета и т. Д., Я ищу доступный источник, прикрепляю к нему буфер и начинаю воспроизведение.
Моя проблема заключается в том, что после начала воспроизведения фоновой музыки будут воспроизводиться только циклические эффекты, а другие эффекты, которые необходимо воспроизводить в игровых действиях (например, при нажатии кнопки), не воспроизводятся. И все эти эффекты с задержкой воспроизводятся после остановки фоновой музыки. Также, если я использую один эффект зацикливания (вместо 3), все они воспроизводятся в правильном порядке.
Я использую субмикс-голос для эффектов, а фоновая музыка передается непосредственно на мастеринг.
Может кто-нибудь, пожалуйста, помогите мне, так как я застрял здесь
Всякий раз, когда кто-то намеревается воспроизводить разные звуки в одно и то же время, он или она должны убедиться, что эти звуки не находятся в очереди, отображаются в последовательном порядке, но отображаются в разных потоках.
В случае Милсима проблема была именно в этом, по-видимому, он использовал задачи для отображения звуков, но они не были выпущены в разных потоках. Он решил свою проблему, используя IAsyncAction
,
Других решений пока нет …