Программирование >>  Автоматически обновляемые приложения 

1 ... 123 124 125 [ 126 ] 127 128 129 ... 170


Листниг 13.2. Использование функции MessageBeep

[Dlllmport( user32.dll )]

public static extern int MessageBeep(uint n);

private void button2 Click(object sender, EventArgs e) {

MessageBeep(0x0);

Функция Beep для Visual Basic

Разработчики на Visual Basic могут применять встроенную функцию Веер, которая также использует системный динамик, хотя ее возможности ограничены по сравнению с одноименной функцией Windows API веер. Чтобы задействовать эту функцию в своем проекте, программисты С# должны установить ссылку на пространство имен Microsoft .VisualBasic (меню Project Add Reference...)- Пример применения показан в листинге 13.3.

Листинг 13.3. Функция веер из библиотеки Visual Basic

private void button3 Click(object sender, EventArgs e) {

Microsoft.VisualBasic.Interaction.Beep();

Примечание

Пример работы со звуками находится в папке BeepDemo на прилагаемом диске.

Звуковые файлы

Рассмотренные выше примеры морально устарели. В .NET Framework 2.0 наконец-то появилась возможность проигрывать звуковые файлы WAV с помощью управляемого кода. Для этой цели было добавлено новое пространст-

ределить при помощи апплета Звук в Панели управления. Функция также может воспроизводить звук встроенного динамика компьютера.



1 Листинг 13.4. Воспроизведение звуковых файлов при помощи класса

: SQundPlayer

private void buttonl Click(object sender, EventArgs e) {

System.Media.SoundPlayer player = new System.Media.SoundPlayer(); player.SoundLocation = (3 с:\windows\media\tada.wav ; player.Play();

И снова о Beep

Кроме класса SoundPlayer, В пространство ИМен System. Media ВХОДИТ НОВЫЙ класс systemSounds, который позволяет воспроизводить системные звуки, в листинге 13.5 приведет пример воспроизведения системного звука.

Листинг 13.5. Воспроизведение системного звука Веер

private void button2 Click(object sender, EventArgs e) {

System.Media.SystemSounds.Beep.Play();

Здесь читатель может удивленно воскликнуть, а зачем нам тогда рассказывали о функции MessageBeep ИЛИ фунКЦИИ Веер пространства ИМен

Microsoft.VisualBasic? Все очень просто. я специально привожу различные способы для решения разных задач. Каждый программист находит свое решение для одной и той же задачи. Но, с другой стороны, чаще просматривайте исходные коды своих старых программ. Вряд ли есть смысл использовать неуправляемый код при вызове функции Windows API MessageBeep, если теперь есть возможность вызова управляемого метода веер класса SystemSounds.

Примечание

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

во имен System.Media, В СОСТав КОТОроГО входит класс SoundPlayer. Его

применение проиллюстрировано в листинге 13.4.



при помощи проигрывателя

private void buttonl Click(object sender, EventArgs e) {

WMPLib.WindowsMediaPlayer WMP = new WMPLib.WindowsMediaPlayer();

this.Text = WMP.versionlnfo; WMP.URL =

(3 C:\Documents and Settings\All Users\Documents\My Music\music.wma ; WMP.controls.play();

Воспроизведение MIDI и МРЗ через неуправляемый код

Нельзя забывать, что пользователь может отказаться от установки стандартного проигрывателя Windows Media и установить какой-нибудь альтернативный музыкальный проигрыватель. И нет никакой гарантии, что необходимая библиотека wmp.dll окажется на его компьютере. В этом случае нам опять поможет вызов неуправляемой функции Windows API mcisendstring (листинг 13.7).

Как проигрывать звуки разных форматов?

Мы рассмотрели способ воспроизведения звукового файла формата WAV при помощи класса SoundPiayer. Но существует масса других звуковых форматов, которые используются для прослушивания музыкальных треков. Среди распространенных музыкальных форматов лидерами являются форматы МРЗ и WMA. Файлы этих форматов с помощью встроенных методов уже не проиграешь. Тем не менее, выход есть. Во-первых, можно воспользоваться помощью универсального проигрывателя Windows Media. Если подключить библиотеки данного проигрывателя, то можно воспроизводить файлы любого формата, который поддерживается этим проигрывателем. Чтобы подключить библиотеку Windows Media, выберите меню Project Add Reference... и в открывшемся окне на вкладке Browse найдите файл wmp.dll, который находится в папке Windows\System32. После подключения этой библиотеки вам станут доступны многие свойства этого проигрывателя. Для примера в листинге 13.6 показан простой код для воспроизведения файла в формате WMA.



1 ... 123 124 125 [ 126 ] 127 128 129 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика