3.2 Постановка задачи по разработке программного продукта
Разработать программу для передачи звука по локальной сети.
Приложения оформить в виде визуальных приложений.
Входные данные: параметры сети.
Выходные данные: выведенная найденная информация.
Функции:
– определение портов сети;
– вывод времени радиовещания.
3.3 Создание приложения передачи звука. Программная реализация приложения «транслятор»
Класс программы «Транс» – «Form1». Его описание – на рисунке 1.
Класс «Form1» |
Открытые поля |
public string dan |
public string ip |
StartButton.Enabled := True; |
Открытые методы |
TForm1.StopButtonClick |
TForm1.Timer1Timer |
TForm1.WMStreamedOut1ThreadException |
TForm1.FormCreate |
Рисунок 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, отвечающий за отправление информации серверу, и форма становится прозрачной.
3.4 Результаты тестирования
Для запуска программы необходимо открыть файл 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 с.: ил.
... выбрать имя в ListBox’e и нажать кнопку «OK», после чего выбранное имя автоматически отобразиться в окне получателя сообщения. Рис. 1.10. Выбор адресата получателя Поиск компьютеров в локальной сети Приведём пример кода программы, реализующую поиск компьютеров в локальной сети Microsoft. procedure TForm4. Button1Click (Sender: TObject); var Q, BufferSize: DWord; R: THandle; Buf: ^ ...
... концентратора, требуется также сетевой кабель, так называемый двужильный провод Ethernet RJ-45 (10BaseT или 100BaseT), который немного больше обычного телефонного кабеля. 3. Создание локальной сети 1. Обнаружение параметров сети. 2. Выбираем параметры настроек. 3. Задание корня DNS-имени ZALMAN. local. 4. Настраиваем IP-адрес и адрес DNS-сервера. 5. Локальные ...
... стоимость создания такой сети без учета затрат на подключения к сети каждой конкретной квартиры. Рисунок 2.1 – Общий вид расположения домов Основными целями проектирования «домашней» локальной сети, являются: 1) совместная обработка информации; 2) совместное использование файлов; 3) централизованное управление компьютерами; 4) контроль за доступом к информации; 5) централизованное ...
... управения IPMI. При установке в серверный шкаф занимает в нем всего 4 юнита по высоте. Системный администратор будет управлять сервером, на котором будут стоять приложения, контролирующие локальную сеть. Описание сервера: Процессор - Intel Xeon E7420 Количество процессоров - 2 Видеоадаптер - ATI ES1000 (32MB) Встроенный сетевой интерфейс - Intel® Dual Gigabit Controller 82575EB Тип ...
0 комментариев