|
|
||
|
Музыка по жанрам Еще по теме Материалы о музыке |
Теги страницы: Способ управления звуком, который позволяет вам определять звук воспроизведения в целом. Итак, как же это делается? Естественно, это будет не так просто, как вызов метода. Вы должны настроить громкость посредством вызова метода SetGiobalParain интерфейса воспроизведения. Этот способ управления громкостью использует не такой диапазон, как звуковая дорожка. Диапазон зависит от программного обеспечения синтезатора, и для стандартного синтезатора Microsoft громкость измеряется в сотнях децибел - в пределах от -200 до 20. Это означает, что фактический диапазон от -20,000 до 2,000, вместо диапазона от -9,600 до 0, как у звуковой дорожки. Я добавил методы Get Volume и SetVolume в CAudiojManager, но, поскольку они понятны, я не буду тратить место на то, чтобы разбирать их по строчке. Подытоживая способы управления громкостью с помощью DirectX. Я надеюсь, что вам кажется полезным, интересным и красивым этот «тур по способам управления громкостью Direct Music». Мощные API делают трудные вещи простыми, а простые сложными. К счастью, сложность управления громкостью в DirectMusic ничтожна по сравнению с Mixer API, за который мы примемся теперь. Но прежде чем мы двинемся дальше, остановитесь здесь и изучите призер программы Сор4 DMusicVolume, который иллюстрирует выборочное и глобальное управление громкостью. Управление громкостью с помощью микширующего API. Управление громкостью в DirectMusic, которое вы только что изучили, похоже на микшер громкости системы. Микшер громкости - это то, что изменяет пользователь, когда делает двойной щелчок по иконке динамика в трее и передвигает ползунки. Обычно ползунки предназначены для общей громкости, а также специально для выхода wave audio, line in и т. д. Совет. Подавите в себе желание пойти по легкому пути - контроль с помощью микшера регулирует громкость всего в системе, поэтому большинству пользователей не понравится, что все меняется как бы у них за спиной. Например, если ваша игра регулирует главную громкость, микшер изменит громкость не только в игре, но также и во всех других запущенных приложениях. Это может быть очень резко ~ представьте себе пользователя, который слушает MP3 на заднем плане, в то время как играет. Если он заходит в вашу игру и регулирует громкость звукового эффекта или музыки, он равно ожидает, что громкость МРЗ останется постоянной. Не используйте микшерное управление как простой способ избежать обучения тому как контролировать выходные устройства вашего приложения. Регулировка этих значений микшера с помощью программы также возможна, хотя это будет сводящим с ума упражнением по «бурению» сквозь несколько слоев структур и псевдо объектов. Архитектура микширующего API. Там очень много всяких структур и псевдо объектов, поэтому вам надо двигаться медленно. Если вы будете двигаться чересчур быстро и замените случайно где-нибудь ID управления на ID контроля, вам придется провести много времени за отладкой. Вверху микшерной архитектуры стоит микшер. Каждый микшер состоит из нескольких источников и целей. Вы не модифицируете прямо эти цели и источники; вместо этого, вы модифицируете воображаемые линии, идущие между ними. Вы можете запросить API о TD воображаемой линии, идущей между любыми двумя источниками или целями, или вы можете запросить ID линий всех источников, идущих к определенной цели (например, выходу главного динамика). Каждая линия обладает многочисленными элементами управления. У вас есть ваша стандартная исходящая громкость и панорамный контроль плюс потенциально гораздо больше экзотических элементов управления, таких, как измерители и эквалайзеры, зависящие от того, какая звуковая аппаратура используется. Стоит упомянуть, что API также поддерживает полностью оригинальные элементы управления, не подходящие ни под один из ранее существовавших. Они могут также отображаться в графическом интерфейсе пользователя. Каждый тип управления обладает тем же числом каналов, что и линия. 1 Например, на стерео линии, каждый тип контроля будет обладать двумя каналами (громкость справа и слева), поэтому вы должны уделять внимание элементам структур, возвращаемых вам API. Каждый канал обладает значением. Обычно это значение - целое число со знаком или без но может быть и по-другому. Правильный диапазон значений зависит от звуковой карточки. |
|