1. МОСКОВСКИЙ УНИВЕРСИТЕТ МВД РОССИИ
УНКИТ
кафедра Информационной безопасности
Курсовая работа:
программа
«Программа воспроизведения звука WinApi»
Выполнил: Проверил:
Курсант 116 учебного взвода Доцент кафедры ИБ,
Рядовой полиции к.т.н
Бабкин Д.А Калиновский А. Г.
Москва 2012
2. Программа воспроизведения звука при помощи функции winapi.
Программа выполняет воспроизведение звука формата waw.
Основными кнопками программы являются play,stop,pause
Кнопка стоп отвечает за начало воспроизведения звука
Кпопка стоп останавливает воспроизведение звука и переводит бегунок в
начальное положении я для воспроизведения трека с самого начала
Кнопка pause останавливает воспроизведение и трека и ставит его на на
временную паузу. После нажатия на play трек возобновиться с текущего
места.
Генерируем воспроизведение звука:
public Audio(string soundFile)
{
_command = "open "" + soundFile + "" type mpegvideo alias MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero);
isOpen = true;
rightVolume = 1000;
leftVolume = 1000;
3. bassVolume = 1000;
trebleVolume = 1000;
masterVolume = 1000;*/
}
Основные компоненты отвечающие за воспроизведение звука
PlaySound - воспроизведение звуков системой
(PChar(Sound) - передаём название звука
SND_ALIAS - говорит, что играем системный звук
SND_ASYNC - играть асинхронно (не останавливая программу)
SND_NOWAIT - если звуковая система занята, то не нужно ничего играть.
При необходимости иметь непосредственный доступ к буферам,
содержащим звуковые данные, приложение должно использовать
интерфейс низкого уровня, обеспечиваемый несколькими функциями с
префиксом имени wave, например, waveInOpen, waveOutOpen,
waveOutWrite, waveAddBuffer и т. д.
Общая методика использования интерфейса низкого уровня для
воспроизведения wav-файлов такова. Сначала выполняется чтение и
проверка формата заголовка wav-файла, открытие устройства вывода с
указанием конкретного формата звуковых данных. Затем звуковые данные
читаются блоками непосредственно из wav-файла, подготавливаются
специальной функцией для вывода и затем передаются драйверу устройства
вывода. Драйвер выводит их в звуковой адаптер. Приложение имеет полный
контроль над процессом воспроизведения, так как оно само должно
подготовить блоки данных в оперативной памяти.
Аналогично выполняется запись звуковых данных. Вначале требуется
открыть устройство ввода, указав ему формат звуковых данных. Затем нужно
заказать один или несколько блоков памяти и подготовить их для ввода,
вызвав специальную функцию. После этого подготовленные блоки нужно по
4. мере необходимости передавать драйверу устройства ввода, который
заполнит их записанными звуковыми данными. Для сохранения записанных
данных в wav-файле приложение должно сформировать и записать в файл
заголовок wav-файла и звуковые данные из подготовленных и заполненных
драйвером устройства ввода блоков памяти.
В отличие от интерфейса MCI, где многие параметры принимаются по
умолчанию, интерфейс низкого уровня требует внимательного и
тщательного учета всех деталей процесса записи и воспроизведения. В
качестве компенсации за дополнительно затраченные усилия вы получаете
большую гибкость и возможность работать со звуковыми данными в
реальном времени.
Открытие файла происходит благодаря функции opendialogfile. При помощи
этой функции мы открываем диалоговое окно которое предлагает выбрать
из сохраненных на компьютере файлов,файл содержащий формат waw. Если
мы веберем другой файл программа работать не будет.
Так же при остсутвие выбора файла программа не сможет функционировать.
Так как прописано ограничение на воспроизведение файла только после его
подгрузки.