2015-08-05 5 views
3

Я хотел бы использовать AVMIDIPlayer для воспроизведения многоканального MIDI-файла в игре в качестве фоновой музыки, но я хочу, чтобы уметь исчезать фоновая музыка, когда игра окончена , К сожалению, AVMIDIPlayer не имеет параметра громкости, такого как AVAudioPlayer. Есть ли способ управлять объемом AVMIDIPlayer? (Изменение глобального объема на самом деле неприемлемо)Возможно ли регулировать громкость AVMIDIPlayer

Единственное другое решение, которое я вижу, - это выяснить, как идентифицировать дорожки в MIDI-файле, создать мульти-инструмент AUGraph и пощекотать микшер в конце. Я не смог выкопать любые примеры CoreMIDI с несколькими инструментами, и это выглядит довольно сложно.

ответ

0

Используйте MusicSequence для воспроизведения звука с низким уровнем звука AUGraph, затем воспроизводите последовательность с помощью MusicPlayer. В AUGraph вы можете управлять узлом микшера.

This Входит в мучительную деталь.