Иллюстрированный самоучитель по Delphi 7 для начинающих

Воспроизведение звука

Наличие у компонента MediaPlayer свойства visible позволяет скрыть компонент от пользователя и при этом применять его для воспроизведения звука без участия пользователя. Например, следующая программа пересчитывает вес из фунтов в килограммы и сопровождает выдачу результата звуковым сигналом. В случае, если пользователь забудет ввести исходные данные или введет их неверно, программа выведет сообщение об ошибке, также сопровождаемое звуковым сигналом. Вид диалогового окна программы во время ее разработки приведен на рис. 11.7, значения свойств компонента MediaPlayer в табл. 11.7. Текст модуля программы приведен в листинге 11.3.

Иллюстрированный самоучитель по Delphi 7 для начинающих › Мультимедиа-возможности Delphi › Воспроизведение звука
Рис. 11.7. Диалоговое окно программы Фунты-килограммы

Таблица 11.7. Значения свойств компонента MediaPiayer1.

Свойство Значение
Name DeviceType MediaPiayer1
FileName dtAutoSelect с: \winnt\media\ding.wav
AutoOpen True
Visible False

Листинг 11.3. Использование компонента MediaPlayer для вывода звука.

unit FuntToKg1_; interface
uses
Windows, Messages, SysUtils,
Classes, Graphics, Controls,
Forms, Dialogs, StdCTRLs, MPlayer;
type
TForm1 = class (TForm)
Edit1: TEdit; // поле ввода веса в фунтах
Button1: TButton; // кнопка Пересчет
Label2: TLabel; // поле вывода результата
Label1: TLabel; // поле информационного сообщения
MediaPlayer1: TMediaPlayer; // медиаплеер
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM)
// щелчок на кнопке Пересчет
procedure TForm1.ButtonlClick(Sender: TObject);
var
f: real; // вес в фунтах k: real; // вес в килограммах
begin
form1.Label2.Caption: =' ';
try // возможна ошибка, если в поле
// Edit1 будет не число
f: = StrToFloat(Edit1.Text);
Forml.MediaPlayer1.Play;
// звуковой сигнал k: = f*0.4095;
Label2.caption: = Editl.text+' ф. – это ' +
FloatToStrF(k,ffGeneral,4.2}+' кг. ';
except
on EConvertError do // ошибка преобразования
begin
// определим и проиграем звук "Ошибка"
Form1.MediaPlayer1.FileName: =
'c:\windows\media\chord.wav';
Form1.MediaPlayer1.Open;
Form1.MediaPlayer1.Play; // звуковой сигнал
ShowMessage('Ошибка! Вес следует ввести числом.');
form1.Edit1.SetFocus; // курсор в поле ввода
// восстановим звук
Forml.MediaPlayer1.FileName: =
'c:\windows\media\ding.wav';
Forml.MediaPlayer1.Open;
end;
end;
end;
end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.