Программная реализация регулятора громкости звука с использованием технологий .NET

Принцип работы регулятора громкости в ОС Windows. Требования к интерфейсу программного продукта, программному и техническому обеспечению. Выбор ядра для разработки приложения. Инсталляция и выполнение программы. Контекстная диаграмма и листинг приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.06.2015
Размер файла 978,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

ВВЕДЕНИЕ

Современные персональные компьютеры содержат такое аппаратное обеспечение, как мультимедиа. Это оборудование, необходимое для создания, хранения и воспроизведения мультимедийного программного обеспечения. Исторически к нему относятся звуковая карта, дисковод СD-RОМ и звуковые колонки (либо наушники). Эту группу оборудования называют также базовым мультимедийным комплектом. Значит, мультимедиа - это комплекс программных и аппаратных средств, позволяющих человеку взаимодействовать с компьютером, используя при этом различные среды, такие как звук, видео, текст, графику, анимацию и т. д.

К основным стандартным средствам мультимедиа относятся программы: регулятор громкости, лазерный проигрыватель, универсальный проигрыватель и звукозапись.

Программа регулятор громкости является базовым регулятором всей компьютерной системы. Это значит, что она выполняет центральную роль, и все регулировки иных программ или аппаратных средств действуют только в пределах, первично заданных параметров. После установки регулятора громкости на панели индикации создается значок. Щелчок левой кнопки мыши на этом значке открывает мастер-регулятор, оказывающий влияние на все звуковые устройства, установленные в компьютере. Щелчком правой кнопки мыши можно открыть расширенное окно, в котором можно задать громкость, стереобаланс и установки тембра для каждого из устройств отдельно.

Целью данного курсового проекта является программная реализация регулятора громкости звука с использованием технологий .NET, систематизация знаний, полученных в процессе изучения курса «Безопасность операционных систем».

Программа дает возможность пользователю регулировать звук на персональном компьютере, содержит приятный и удобный интерфейс, включает поддержу различных языковых файлов.

регулятор громкость программный

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1.1 Принцип работы регулятора громкости в ОС Windows

В каждом персональном компьютере есть звуковая карта. Для неё в комплекте с операционной системой Windows устанавливается программное регулирование громкости. Некоторые звуковые карты могут обеспечивать несколько звуковых каналов. На каждый из звуковых каналов у программного регулирования громкости имеется собственный регулятор.

Звуковая карта обеспечивающая ещё и стереозвук имеет возможность менять стереобаланс по каждому каналу.

Это окно программы, которое в разных версиях Windows называлось по разному. Вне зависимости от перевода - это микшер.

Микшер позволяет регулировать, во-первых, общую громкость и стереобаланс (секция Play Control - «контроль воспроизведения»), а, во-вторых, - раздельно по основным каналам: воспроизведения звуковых файлов (секция wave), воспроизведения MIDI - файлов при помощи встроенного синтезатора звуковой карты (MIDI, может называться также Synth - синтезатор) воспроизведения компакт - дисков (CD Audio) и воспроизведения сигнала с линейного входа звуковой карты (Line In).

Устройства, которые в настоящий момент не нужны, можно временно отключить, нажав на значок громкости. Можно и вовсе не выводить на экран ненужные секции, для чего зайти в настройки микшера («Параметры», «Свойства») и убрать галочки из соответствующих строк. На рисунке 1 представлено окно «Микшер громкости».

Рисунок 1. Микшер громкости

1.2 Принцип работы в операционной системе Ubuntu

В Ubuntu можно установить сторонний регулятор громкости -Volti. На рисунке 2 представлено окно программы.

Рисунок 2. Volti

При работе с регулятором громкости Volti есть несколько особенностей, которые следует знать:

громкость регулирует только ALSA(архитектура звуковых драйверов, а также широкий их набор для операционной системы Linux, призванный сменить Open Sound System (OSS). ALSA тесно связана с ядром Linux. ALSA -- программный микшер, который эмулирует совместимость для других слоев);

есть встроенный микшер, но можно использовать любой другой;

клик левой кнопкой мыши открывает регулятор уровня громкости Ubuntu;

есть поддержка горячих клавиш;

есть возможность подключить управление hardware-клавиш клавиатуры;

есть графические стандартные уведомления.

Чтобы воспользоваться этим регулятором громкости в Ubuntu, необходимо загрузить вручную DEB-пакет на официальном сайте проекта и установить его в системе.

После установки нужно добавить приложение на автозагрузку, для этого нужно воспользоваться стандартным инструментом Gnome для добавления автозагружаемых приложений при старте системы необходимо открыть меню «Система», выбрать подпункт «Параметры», далее - «Запускаемые» приложения. В качестве команды стоит использовать: volti.

Для регулирования звука этого мини-приложения вполне хватит, работает он быстро и очень экономично расходует системные ресурсы компьютера.

1.3 Принцип работы эквалайзера

Эквалайзер (англ. equalize -- «выравнивать», общее сокращение -- «EQ»), также называется темброблок --устройство или компьютерная программа, позволяющая избирательно корректировать амплитуду (то есть громкость) сигнала в зависимости от частоты (высоты звука). Во времена первых опытов звукозаписи студии были оснащены низкокачественными микрофонами и громкоговорителями, которые искажали звук, и эквалайзер применялся для его амплитудной коррекции по частотам. Однако в настоящее время эквалайзер является мощным средством для получения разнообразных тембров звука (то есть разных оттенков звучания). На рисунке 3 представлено окно «Звук».

Рисунок 3. Окно "Звук"

После клика по активизировавшейся кнопке «Свойства». На рисунке 4 представлено окно свойств динамиков.

Рисунок 4. Свойства:Динамики

Рисунок 5. Уровни

Перед нами предстает исчерпывающая информация о разъемах, которые есть на задней и лицевой панели нашей аудиокарты. Изменять ничего не нужно, т.к. по умолчанию устройство включено. На рисунке 5 представлена вкладка - «Уровни».

Передвигая ползунки влево или вправо, мы получаем возможность выборочно изменять параметры уровня громкости для конкретного динамика. Оптимальное положение, естественно, определяется опытным путем.

Чтобы включить эквалайзер на Windows 7, переходим на третью вкладку «Улучшения» и проставляем галочку «Эквалайзер». На рисунке 6 представлена вкладка - «Улучшения».

Рисунок 6. Улучшения

Теперь мы имеем полное право вносить изменения в эквалайзер самой аудиокарты, и они будут немедленно применены и сохранят свое действие даже после перезагрузки системы. На рисунке 7 представлен эквалайзер нашей звуковой карте.

Рисунок 7. Диспетчер Realtek HD

Современные аудио карты имеют очень много разномастных настроек, позволяющих изменить как частотные, так и мощностные характеристики для конкретной акустической системы.

К примеру, для мощной полупрофессиональной системы, возможно, появятся иные настройки и ползунки, которые позволяют не просто выбирать тип эквалайзера из выпадающего списка, а создавать свой собственный эквалайзер, передвигая многочисленные ползунки, регулирующие полосу пропускания звуковых частот применительно к каждому конкретному динамику акустической системы.

Здесь же представлены настройки: «поп», «лайв», «клаб», «караоке» и «рок». Следовательно, выбирается такой режим, который обеспечит наиболее качественное воспроизведение именно того вида музыки, который предпочтителен.

1.4 Новые возможности Windows 8

В Windows 8 многие распространенные задачи стандартизированы в виде новых функций и интерфейсов системного уровня -- таких как панель Charms, контракты и интерфейс «Параметры» (Settings).

До появления Windows 8 большинство пользователей умело пользоваться значком громкости в системном лотке. Он позволяет регулировать громкость звука на уровне системы и использовать расширенные функции управления, в частности, микшер, который дает возможность изменять громкость в отдельных приложениях и для отдельных устройств воспроизведения. В Windows 8 эти интерфейсы, конечно, тоже присутствуют, но с появлением среды Metro для управления системным звуком потребовалось изобрести новый, более универсальный механизм.

Поскольку Windows 8 во многом ориентирована на мобильные устройства, она разумеется поддерживает аппаратные кнопки регулировки громкости. При нажатии соответствующей кнопки громкость уменьшается или увеличивается, а на экране, если он включен, появляется индикатор уровня громкости звука (в том числе на экране блокировки).

Windows 8 также позволяет регулировать громкость звука через программный интерфейс, который работает одинаково во всей среде Metro -- на начальном экране (Start screen), в «Параметрах компьютера» (PC Settings), в отдельных Metro-приложениях и играх -- а также на Рабочем столе Windows. Этот интерфейс входит в состав системной панели «Параметры» (Settings), которую можно вызвать клавишами [Win]+[I] или из панели Charms. В нижней части такой панели представлено немало системных настроек, включая настройки громкости (Volume).

1.5 Выбор ядра для разработки приложения

Подсистема Core Audio стоит за любым воспроизведением звука в Mac или iPhone. Ее процедурный API написан на C и потому непосредственно доступен из языков Objective-C и C++, а также любых других языков, способных вызывать C-функции, в частности из Java благодаря Java Native Interface и из Ruby - с помощью RubyInline. С точки зрения собственно работы со звуком, Core Audio - высокоуровневая система, потому что абстрагирует многие технические детали, в том числе особенности оборудования и звуковых форматов.

Core Audio представляет собой набор каркасов для работы с оцифрованным звуком. Их можно разбить на две большие категории: движки, которые обрабатывают звуковые потоки, и вспомогательные API, которые облегчают подачу данных на вход движков и получение данных с их выхода, а также позволяют работать с данными иными способами.

Все каркасы Core Audio представляются как вызовы написанных на C функций. Поэтому они доступны из приложений Cocoa, Cocoa Touch и Carbon, но возникают проблемы, неотъемлемые от процедурного программирования на C: указатели, ручное управление памятью, работа со структурами struct и перечислениями enum.

1.5.1 Аудиоблоки (Audio Units )

Именно в этом низкоуровневом API производится большая часть работы Core Audio. Каждый блок получает откуда-то (из аппаратуры ввода, от другого аудио блока, благодаря обратному вызову кода и т. д.) общие сведения о Core Audio 33 буфер звуковых данных, выполняет с ним какие-то операции (например, применяет эффект) и передает следующему блоку. Теоретически у блока может быть много входов и выходов, что позволяет микшировать несколько входных звуковых потоков в один выходной.

1.5.2 OpenAL

Этот API представляет собой отраслевой стандарт создания позиционного трехмерного звука (иными словами, объемного звучания). По своей структуре он напоминает графический стандарт OpenGL и в результате идеально приспособлен для разработки игр. В Mac и в iPhone он фактически реализован поверх аудиоблоков, но работа на уровне одного лишь OpenAL API может завести на удивление далеко.

1.6 Требования к интерфейсу программного продукта

Интерфейс разрабатываемого приложения должен соответствовать общепринятым правилам и нормам проектирования пользовательских интерфейсов:

очевидный порядок выполнения действий;

использование стандартных элементов управления и окон диалогов операционной системы Windows, легко узнаваемые названия полей;

эргономичное расположение полей ввода и элементов управления;

выдержанная в спокойных тонах цветовая гамма;

использование средств вывода сообщений об ошибках;

Интерфейс должен быть защищен от неправильных действий пользователя и снабжен системой подсказок.

1.7 Требования к программному и техническому обеспечению

Требования к программному обеспечению:

ОС --XP/Vista/7/8;

Среда разработки Visual Studio 2012 .NET Framework 4.0;

Требования к техническому обеспечению:

IBM-совместимый компьютер с тактовой частотой 1,8 ГГц и выше;

512MBОЗУ;

НЖМД со свободным пространством 100 МБ;

Клавиатура и мышь;

2. РАБОЧИЙ ПРОЕКТ

2.1 Общие сведения о работе системы

Программный продукт разработан средствами VisualStudio 2012 .NET Framework 4.0 под управлением ОС MSWindows 8 для стандартной конфигурации компьютера Pentium. Программный продукт не требует установки и запускающим модулем является файл AusioSample.exe.

2.2 Функциональное назначение

Программное обеспечение предназначено для настройки громкости звука операционных систем Windows XP/Vista/7/8. Программа оснащена графическим эквалайзером.

2.3 Инсталляция и выполнение программного продукта

Перед началом эксплуатации программного продукта необходимо выполнить следующие действия:

Скопировать запускающий модуль AudioSample.exe на жесткий диск;

Запустить программный продукт и осуществить ввод данных.

Для выполнения программного продукта следует запустить файл AusioSample.exe из среды Windows.

2.4 Общий алгоритм работы программного продукта

В программном продукте имеется список объектов формы «Регулятор звука», который приводиться в таблице 2.1.

Таблица 2.1 - Список объектов формы «Сканер портов»

Имя

Тип объекта

Описание

tbMaster

TrackBar

Объект типа progressBar выполняет роль регулировщика звука

pkMaster

ProgressBar

Объект типа progressBar выполняет роль графического эквалайзера

button1

button

Объект типа button отключает и включает воспроизведение звука

timer1

timer

Периодически вызывает функцию

2.5 Руководство пользователя

Программный продукт запускается файлом AusioSample.exe, открывается форма Form1, представленная на рисунке 2.1. Для работы с программным продуктом используется простой, интуитивно понятный интерфейс.

Рисунок 2.1 Форма регулятора громкости.

На форме имеются кнопка, выполняющая действие полного отключения звука и его включения, так же имеется бегунок, который осуществляет регулировку звука и есть показатель частоты звука.

ЗАКЛЮЧЕНИЕ

В данном курсовом проекте был разработан регулятор громкости звука, который включает следующие возможности:

возможность регулировки уровня звука;

полное отключение звука.

Основные достоинства программы:

малый размер приложения (141 Кб);

легкая переносимость программы;

удобный интерфейс.

Программа была написана на языке С#.

СПИСОК ЛИТЕРАТУРЫ

Р. С. Мартин, М. Мартин. «Принципы, паттерны и методики гибкой разработки на языке C#» - Издательство: Символ-Плюс. 2011 г. - 768ч.

Карли Уотсон, Кристиан Нейгел, Якоб Хаммер Педерсен, Джон Д. Рид, Морган Скиннер. «Visual C# 2010. Полный курс». Издательство: Вильямс. 2012г.-960с.

А. Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд. «Язык программирования C#». Издательство: Питер. 2012г. - 784с.

ПРИЛОЖЕНИЕ 1

Контекстная диаграмма

ПРИЛОЖЕНИЕ 2

Листинг программы

namespace CoreAudioSample

{

public partial class Form1 : Form

{

private MMDevice device;

public Form1()

{

InitializeComponent();

MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();

device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);

tbMaster.Value = (int)(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100);

timer1.Enabled = true;

}

private void tbMaster_Scroll(object sender, EventArgs e)

{

device.AudioEndpointVolume.MasterVolumeLevelScalar = ((float)tbMaster.Value / 100.0f);

}

private void timer1_Tick(object sender, EventArgs e)

{

pkMaster.Value = (int)(device.AudioMeterInformation.MasterPeakValue * 100);

}

private void button1_Click(object sender, EventArgs e)

{

if (device.AudioEndpointVolume.Mute == false)

{

device.AudioEndpointVolume.Mute = true;

}

else

{

device.AudioEndpointVolume.Mute = false;

}

}

}

}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.