Программная реализация регулятора громкости звука с использованием технологий .NET
ВВЕДЕНИЕ
Современные персональные компьютеры содержат
такое аппаратное обеспечение, как мультимедиа. Это оборудование, необходимое
для создания, хранения и воспроизведения мультимедийного программного
обеспечения. Исторически к нему относятся звуковая карта, дисковод СD-RОМ и
звуковые колонки (либо наушники). Эту группу оборудования называют также
базовым мультимедийным комплектом. Значит, мультимедиа - это комплекс
программных и аппаратных средств, позволяющих человеку взаимодействовать с
компьютером, используя при этом различные среды, такие как звук, видео, текст,
графику, анимацию и т. д.
К основным стандартным средствам мультимедиа
относятся программы: регулятор громкости, лазерный проигрыватель, универсальный
проигрыватель и звукозапись.
Программа регулятор громкости является базовым
регулятором всей компьютерной системы. Это значит, что она выполняет
центральную роль, и все регулировки иных программ или аппаратных средств
действуют только в пределах, первично заданных параметров. После установки регулятора
громкости на панели индикации создается значок. Щелчок левой кнопки мыши на
этом значке открывает мастер-регулятор, оказывающий влияние на все звуковые
устройства, установленные в компьютере. Щелчком правой кнопки мыши можно
открыть расширенное окно, в котором можно задать громкость, стереобаланс и
установки тембра для каждого из устройств отдельно.
Целью данного курсового проекта является
программная реализация регулятора громкости звука с использованием технологий
.NET, систематизация знаний, полученных в процессе изучения курса «Безопасность
операционных систем».
Программа дает возможность пользователю
регулировать звук на персональном компьютере, содержит приятный и удобный
интерфейс, включает поддержу различных языковых файлов.
регулятор громкость программный
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
.1 Принцип работы регулятора громкости в ОС
Windows
В каждом персональном компьютере есть звуковая
карта. Для неё в комплекте с операционной системой Windows устанавливается
программное регулирование громкости. Некоторые звуковые карты могут
обеспечивать несколько звуковых каналов. На каждый из звуковых каналов у
программного регулирования громкости имеется собственный регулятор.
Звуковая карта обеспечивающая ещё и стереозвук
имеет возможность менять стереобаланс по каждому каналу.
Это окно программы, которое в разных версиях
Windows называлось по разному. Вне зависимости от перевода - это микшер.
Микшер позволяет регулировать, во-первых, общую
громкость и стереобаланс (секция Play Control - «контроль воспроизведения»), а,
во-вторых, - раздельно по основным каналам: воспроизведения звуковых файлов
(секция wave), воспроизведения MIDI - файлов при помощи встроенного синтезатора
звуковой карты (MIDI, может называться также Synth - синтезатор)
воспроизведения компакт - дисков (CD Audio) и воспроизведения сигнала с
линейного входа звуковой карты (Line In).
Устройства, которые в настоящий момент не нужны,
можно временно отключить, нажав на значок громкости. Можно и вовсе не выводить
на экран ненужные секции, для чего зайти в настройки микшера («Параметры»,
«Свойства») и убрать галочки из соответствующих строк. На рисунке 1
представлено окно «Микшер громкости».
Рисунок 1. Микшер громкости
.2 Принцип работы в операционной
системе Ubuntu
В Ubuntu можно установить сторонний
регулятор громкости -Volti. На рисунке 2 представлено окно программы.
Рисунок 2. Volti
громкость регулирует только
ALSA(архитектура звуковых драйверов, а также широкий их набор для операционной
системы
<https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0>
Linux <https://ru.wikipedia.org/wiki/Linux>, призванный сменить Open
Sound System <https://ru.wikipedia.org/wiki/Open_Sound_System> (OSS).
ALSA тесно связана с ядром Linux. ALSA - программный микшер, который эмулирует
совместимость для других слоев);
есть встроенный микшер, но можно
использовать любой другой;
клик левой кнопкой мыши открывает
регулятор уровня громкости Ubuntu;
есть поддержка горячих клавиш;
есть возможность подключить
управление hardware-клавиш клавиатуры;
есть графические стандартные уведомления.
Чтобы воспользоваться этим
регулятором громкости в Ubuntu, необходимо загрузить вручную DEB-пакет на
официальном сайте проекта <#"866335.files/image003.gif"> <#"866335.files/image004.gif"> <#"866335.files/image005.gif"> <#"866335.files/image006.gif"> <#"866335.files/image007.gif"> <#"866335.files/image008.gif">
Рисунок 2.1 Форма регулятора громкости.
На форме имеются кнопка, выполняющая действие
полного отключения звука и его включения, так же имеется бегунок, который
осуществляет регулировку звука и есть показатель частоты звука.
ЗАКЛЮЧЕНИЕ
В данном курсовом проекте был разработан
регулятор громкости звука, который включает следующие возможности:
возможность регулировки уровня звука;
полное отключение звука.
Основные достоинства программы:
малый размер приложения (141 Кб);
легкая переносимость программы;
удобный интерфейс.
Программа была написана на языке С#.
СПИСОК ЛИТЕРАТУРЫ
Р.
С. Мартин, М. Мартин. «Принципы, паттерны и методики гибкой разработки на языке
C#» - Издательство: Символ-Плюс. 2011 г. - 768ч.
А.
Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд. «Язык программирования C#».
Издательство: Питер. 2012г. - 784с.
ПРИЛОЖЕНИЕ 1
Контекстная диаграмма
ПРИЛОЖЕНИЕ 2
Листинг программы
namespace CoreAudioSample
{
public partial
class Form1 : Form
{MMDevice device;Form1()
{();DevEnum = new
MMDeviceEnumerator();= DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender,
ERole.eMultimedia);.Value =
(int)(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100);.Enabled =
true;
}void
tbMaster_Scroll(object sender, EventArgs e)
{.AudioEndpointVolume.MasterVolumeLevelScalar
= ((float)tbMaster.Value / 100.0f);
}void
timer1_Tick(object sender, EventArgs e)
{.Value =
(int)(device.AudioMeterInformation.MasterPeakValue * 100);
}void
button1_Click(object sender, EventArgs e)
{(device.AudioEndpointVolume.Mute
== false)
{.AudioEndpointVolume.Mute
= true;
}
{.AudioEndpointVolume.Mute
= false;
}
}
}