Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Создание приложения передачи звука. Программная реализация приложения «транслятор» ⇐ ПредыдущаяСтр 2 из 2
Класс программы «Транс» – «Form1». Его описание – на рисунке 1.
Рисунок 1 – описание класса Form1
Поле ip используется для обращения ip-адреса приложения. Метод Timer1 используется для посчета интервала времени. В нём производится сбор информации об адаптерах, остальная информация собирается с помощью методов, вызванных в коде этого метода. Листинг метода OSNMET() с комментариями: unit Main;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ACS_Classes, StdCtrls, ComCtrls, ACS_DXAudio, Spin, ExtCtrls, ACS_Wave, ACS_WinMedia;
type TForm1 = class(TForm) StartButton: TButton; StatusBar1: TStatusBar; StopButton: TButton; Timer1: TTimer; Label2: TLabel; SpinEdit2: TSpinEdit; Label3: TLabel; Label4: TLabel; PauseButton: TButton; DXAudioIn1: TDXAudioIn; WMStreamedOut1: TWMStreamedOut; procedure StartButtonClick(Sender: TObject); procedure OutputDone(Sender: TComponent); procedure StopButtonClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure SpinEdit2Change(Sender: TObject); procedure PauseButtonClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure WMStreamedOut1ThreadException(Sender: TComponent); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.StartButtonClick(Sender: TObject); begin StartButton.Enabled: = False; SpinEdit2.Enabled: = False; WMStreamedOut1.Run; Timer1.Interval: = 1000; end;
procedure TForm1.OutputDone(Sender: TComponent); begin StartButton.Enabled: = True; SpinEdit2.Enabled: = True; end;
procedure TForm1.StopButtonClick(Sender: TObject); begin WMStreamedOut1.Stop; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin Label2.Caption: = Format('Продолжительность: %d секунд', [WMStreamedOut1.TimeElapsed]); end;
procedure TForm1.WMStreamedOut1ThreadException(Sender: TComponent); begin Self.StatusBar1.Panels[0].Text: = WMStreamedOut1.ExceptionMessage; end;
procedure TForm1.FormCreate(Sender: TObject); begin SpinEdit2.MaxValue: = DXAudioIn1.DeviceCount - 1; SpinEdit2.MinValue: = 0; SpinEdit2.Value: = 0; Label4.Caption: = DXAudioIn1.DeviceName[SpinEdit2.Value]; end;
procedure TForm1.SpinEdit2Change(Sender: TObject); begin Label4.Caption: = DXAudioIn1.DeviceName[SpinEdit2.Value]; DXAudioIn1.DeviceNumber: = SpinEdit2.Value; end;
procedure TForm1.PauseButtonClick(Sender: TObject); begin if WMStreamedOut1.Status = tosPlaying then WMStreamedOut1.Pause; if WMStreamedOut1.Status = tosPaused then WMStreamedOut1.Resume; end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin WMStreamedOut1.Stop(False); end;
end. По нажатию на кнопку «Запуск» полю для хранения IP-адреса серввера присваивается значение, находящееся в поле для ввода IP-адреса. Зпускается timer1, отвечающий за отправление информации серверу, и форма становится прозрачной. Результаты тестирования Для запуска программы необходимо открыть файл RadioStation.exe на каком-либо компьютере сети. После запуска программы нам остается выбрать аудиоустройство, с которого мы будем транслировать звук, и щелкнуть кнопку " Старт" рис 2. Рисунок 2 – Выбор устройства
Для того чтобы " настроиться" на нашу радиостанцию, нужно запустить проигрыватель Windows Media, выбрать команду " Файл > > Открыть URL-адрес…" и в открывшемся окне ввести адрес вида mms: //< имя_узла>: < порт> В результате, в окне будут отображаться, данные как показано на рисунке 3.
Рисунок 3 – Открытие URL-адреса
После этого вы можете насладиться прослушиванием рисунок 4.
Рисунок 4 – Результат тестирования программы Заключение Для получения правдоподобного звучания эффектов обычно делается несколько последовательных задержек звука, в которых копия исходного сигнала постепенно ослабляется. В приведенной программе для простоты делается только одна задержка, причем копия сигнала не ослабляется. При выполнении данного курсового проекта были закреплены навыки работы с локальными вычислительных сетями, программирование сетевых приложений, теоретические знания по предмету «Сети ЭВМ». В курсовом проекте была разработана: Программа позволяющая передавать звук, как по локальной сети, так и по глобальной сети интернет; - программа «транслятор», которая позволяет передавать звук по сети; Список используемой литературы 1) Бройдо В.Л. Вычислительные системы, сети и телекоммуникации: Учеб.пос. для вузов. – 2002. ISBN 5-318-005300-6 2) Зимянин Л.Ф.Программирование сетевых протоколов: Учеб. метод. пособие по курсу «Компьютерные сети» для студ. спец. Н.08.02.00 – «Информатика». – Минск.: Белгосуниверситет, 1998. – 37 с. 3) Ларионов А.М. и др. Вычислительные комплексы, системы и сети. / А.М. Ларионов, С.А. Майоров, Г.И. Новиков. – Ленинград. ЭНЕРГОАТОМИЗДАТ. Ленинградское отделение. 1987. 4) Фаронов В.В. Программирование на языке Delphi/–СПб.: Питер, 2007. –240 с.: ил. |
Последнее изменение этой страницы: 2019-10-04; Просмотров: 170; Нарушение авторского права страницы