SlideShare a Scribd company logo
1 of 4
МОСКОВСКИЙ УНИВЕРСИТЕТ МВД РОССИИ


                                УНКИТ

              кафедра Информационной безопасности




                          Курсовая работа:
                              программа
      «Программа воспроизведения звука WinApi»




Выполнил:                                   Проверил:

Курсант 116 учебного взвода                 Доцент кафедры ИБ,

Рядовой полиции                             к.т.н

Бабкин Д.А                                  Калиновский А. Г.




                              Москва 2012
Программа воспроизведения звука при помощи функции 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;
bassVolume = 1000;

trebleVolume = 1000;

masterVolume = 1000;*/

}

Основные компоненты отвечающие за воспроизведение звука

PlaySound - воспроизведение звуков системой

(PChar(Sound) - передаём название звука

SND_ALIAS - говорит, что играем системный звук

SND_ASYNC - играть асинхронно (не останавливая программу)

SND_NOWAIT - если звуковая система занята, то не нужно ничего играть.

При необходимости иметь непосредственный доступ к буферам,
содержащим звуковые данные, приложение должно использовать
интерфейс низкого уровня, обеспечиваемый несколькими функциями с
префиксом имени wave, например, waveInOpen, waveOutOpen,
waveOutWrite, waveAddBuffer и т. д.



 Общая методика использования интерфейса низкого уровня для
воспроизведения wav-файлов такова. Сначала выполняется чтение и
проверка формата заголовка wav-файла, открытие устройства вывода с
указанием конкретного формата звуковых данных. Затем звуковые данные
читаются блоками непосредственно из wav-файла, подготавливаются
специальной функцией для вывода и затем передаются драйверу устройства
вывода. Драйвер выводит их в звуковой адаптер. Приложение имеет полный
контроль над процессом воспроизведения, так как оно само должно
подготовить блоки данных в оперативной памяти.



 Аналогично выполняется запись звуковых данных. Вначале требуется
открыть устройство ввода, указав ему формат звуковых данных. Затем нужно
заказать один или несколько блоков памяти и подготовить их для ввода,
вызвав специальную функцию. После этого подготовленные блоки нужно по
мере необходимости передавать драйверу устройства ввода, который
заполнит их записанными звуковыми данными. Для сохранения записанных
данных в wav-файле приложение должно сформировать и записать в файл
заголовок wav-файла и звуковые данные из подготовленных и заполненных
драйвером устройства ввода блоков памяти.



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

Открытие файла происходит благодаря функции opendialogfile. При помощи
этой функции мы открываем диалоговое окно которое предлагает выбрать
из сохраненных на компьютере файлов,файл содержащий формат waw. Если
мы веберем другой файл программа работать не будет.

Так же при остсутвие выбора файла программа не сможет функционировать.
Так как прописано ограничение на воспроизведение файла только после его
подгрузки.

More Related Content

Viewers also liked

Jaunas gramatas decembris 2016
Jaunas gramatas decembris 2016Jaunas gramatas decembris 2016
Jaunas gramatas decembris 2016bibliotekarite
 
ING, Hoe reizen we verder...
ING, Hoe reizen we verder...ING, Hoe reizen we verder...
ING, Hoe reizen we verder...TradeTracker.com
 
Planung von Lehrveranstaltungen
Planung von LehrveranstaltungenPlanung von Lehrveranstaltungen
Planung von LehrveranstaltungenJan Fendler
 
новые книги
новые книгиновые книги
новые книгиliudmila sege
 
Presentación padres 6º. Evaluaciones externas
Presentación padres 6º. Evaluaciones externasPresentación padres 6º. Evaluaciones externas
Presentación padres 6º. Evaluaciones externascpblasdeotero
 
shkola pravil'nogo pitaniya
shkola pravil'nogo pitaniyashkola pravil'nogo pitaniya
shkola pravil'nogo pitaniyashalnova
 
K r a lj e v i sjevera i juga
K r a lj e v i sjevera i jugaK r a lj e v i sjevera i juga
K r a lj e v i sjevera i jugaestera hadasa
 
Valentine's day
Valentine's dayValentine's day
Valentine's dayjavivela
 

Viewers also liked (11)

Jaunas gramatas decembris 2016
Jaunas gramatas decembris 2016Jaunas gramatas decembris 2016
Jaunas gramatas decembris 2016
 
ING, Hoe reizen we verder...
ING, Hoe reizen we verder...ING, Hoe reizen we verder...
ING, Hoe reizen we verder...
 
Los ecosistemas terrestres
Los ecosistemas terrestresLos ecosistemas terrestres
Los ecosistemas terrestres
 
Planung von Lehrveranstaltungen
Planung von LehrveranstaltungenPlanung von Lehrveranstaltungen
Planung von Lehrveranstaltungen
 
Reunión de padres
Reunión de padresReunión de padres
Reunión de padres
 
новые книги
новые книгиновые книги
новые книги
 
Presentación padres 6º. Evaluaciones externas
Presentación padres 6º. Evaluaciones externasPresentación padres 6º. Evaluaciones externas
Presentación padres 6º. Evaluaciones externas
 
shkola pravil'nogo pitaniya
shkola pravil'nogo pitaniyashkola pravil'nogo pitaniya
shkola pravil'nogo pitaniya
 
K r a lj e v i sjevera i juga
K r a lj e v i sjevera i jugaK r a lj e v i sjevera i juga
K r a lj e v i sjevera i juga
 
Parksensoren
ParksensorenParksensoren
Parksensoren
 
Valentine's day
Valentine's dayValentine's day
Valentine's day
 

Jgbcfybt ghjub

  • 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. Если мы веберем другой файл программа работать не будет. Так же при остсутвие выбора файла программа не сможет функционировать. Так как прописано ограничение на воспроизведение файла только после его подгрузки.