• Главная
  • Карта сайта
Не найдено

Ваша власна Інтернет-радіостанція в локальній (і глобальної) мережі

  1. Ваша власна Інтернет-радіостанція в локальній (і глобальної) мережі
  2. пишемо програму
  3. починаємо радіомовлення
  4. прослуховування

Ваша власна Інтернет-радіостанція в локальній (і глобальної) мережі

Реєстрація © 2008 Андрій Боровський

Ви, можливо, не знали про те, що компоненти, які встановлюються разом з Windows Media Player 9 (і більш пізніми версіями) містять вбудовані засоби широкомовної передачі аудіо-даних. Фактично кожен підключений до мережі комп'ютер, на якому встановлений Windows Media Player, може бути перетворений в мережеву радіостанцію. Для цього можна скористатися готовими програмами. Можна написати власну програму, використовуючи безпосередньо інтерфейси, що надаються Windows Media System (такі як IWMWriterNetworkSink, IWMProfile, IWMCodecInfo) і ще десяток функцій і інтерфейсів (їх опис міститься в Windows Media SDK).

Ми розглянемо інше рішення - створення власної Інтернет-радіостанції за допомогою Delphi і компонентів New Audio Components (NewAC). Написати таку програму дуже просто. Ми побачимо, що в простому прикладі нам буде достатньо з'єднати два компонента і налаштувати їх властивості.

Що дає нам написання власної програми передачі аудіо-даних? Перш за все - свободу. Можна організувати передачу аудіо за допомогою мікрофона, підключеного до вашого комп'ютера. Можна завантажувати вміст аудіо-записів з вашого комп'ютера (для цього треба буде задіяти компоненти читання аудіо-даних з різних форматів, що входять до складу NewAC). Можна просто транслювати все, що звучить у вашій системі.

Оскільки передача даних виконується у форматі Windows Media Audio, її можна буде прослуховувати з будь-якого комп'ютера, на якому встановлений Windows Media Player, або сумісну версію. Варто відзначити, що за останні роки якість потокового аудіо-формату Windows Media Audio помітно покращився, так що навіть при швидкості передачі даних 16 кбіт / сек ми можемо отримати звук цілком прийнятного радіо-якості. При цьому передача даних створить незначну навантаження на локальну мережу. Зрозуміло, ніщо не заважає нам організувати передачу даних з більш високим бітрейтом, (а, отже, - якістю), але навантаження на мережу в цьому випадку, природно, зросте. При наявності DSL-модему і видимого із зовнішньої мережі IP-адреси ви навіть можете організувати трансляцію в глобальну мережу, хоча число клієнтів, здатних приймати вашу радіопередачу буде не дуже велике.

пишемо програму

Передача даних здійснюється компонентом TWMStreamedOut. Розмістимо цей компонент у формі додатку.


Компонент TWMStreamedOut у вікні форми додатка

У Інспектора об'єктів слід налаштувати найважливіші властивості об'єкта WMStreamedOut1.


Властивості об'єкта WMStreamedOut1 у вікні Object inspector

Властивість DesiredBitrate дозволяє встановити швидкість і якість передачі даних. Скажемо відразу, що фактична швидкість передачі даних може бути нижчою, ніж та, яку ми вибрали. Справа в тому, що система Windows Media надає нам кілька кодеків, кожен з яких працює з фіксованим набором вхідних форматів аудіо-даних. Результуючий формат даних, створених кодеком, залежить від типу кодека і вхідного формату даних, більшою мірою, ніж від заданого нами бітрейта. Компонент TWMStreamedOut сам підбирає оптимальний кодек (можна піти і по більш складному шляху - вибрати потрібний коді і формат вручну, але зараз ми розглядаємо найпростіше рішення).

Оскільки всі компоненти є частиною формату Windows Media Audio, приймаюча програма (Windows Media Player) впорається з будь-яким поєднанням.

Властивість Id3V2Tags дозволяє нам додати текстову інформацію до переданої записи (ця інформація буде відображатися в приймаючій програмі). Властивість MaxClients дозволяє вказати максимальну кількість одночасних підключень до нашої радіостанції (якщо привласнити цій властивості значення 0, максимально допустиму кількість клієнтів буде необмеженим).

У властивості Port ми вказуємо номер порту, по якому наша програма буде очікувати запити на підключення.

За допомогою властивості Input ми вказуємо об'єкту WMStreamedOut1 об'єкт-джерело даних. Огляд компонентів-джерел аудіо NewAC виходить за рамки цієї статті. У нашому прикладі ми використовуємо компонент DXAudioIn, який дозволяє передавати звук, що надходить на різні входи ваших звукових карт або просто працювати в режимі "What U hear" - "все, що ви чуєте", якщо ваше обладнання підтримує такий режим.

У обробнику події OnClick кнопки StartButton, яка запускає пердачу, досить написати:

procedure TForm1.StartButtonClick (Sender: TObject);
begin
StartButton.Enabled: = False;
WMStreamedOut1.Run;
end;

Ви можете завантажити програму в вигляді вихідних текстів (Проект Delphi 2007) або в скомпільованому вигляді .

починаємо радіомовлення

Після запуску програми нам залишається вибрати аудіопристр, з якого ми будемо транслювати звук, і натиснути кнопку "Старт".


Інтернет-радіостанція в роботі

Наша програма передає дані в мережу, так що якщо ваш комп'ютер захищений брандмауером, необхідно додати програму-радіопередавач в список програм, яким дозволений доступ в мережу.

прослуховування

Для того щоб "налаштуватися" на нашу радіостанцію потрібно запустити програвач Windows Media, вибрати команду "Файл >> Відкрити URL-адресу ..." і у вікні, ввести адресу виду

mms: //:

наприклад, так як показано на малюнку.

Про всяк випадок поясню, що повинен відповідати тим значенням, яке ми вказали у властивості Port об'ектаWMStreamedOut1.

Після цього ви можете насолодитися прослуховуванням.

Слід мати на увазі, що через буферизації даних, як на стороні передавача, так і на стороні приймача, навіть в локальній мережі трансляція здійснюється з затримкою в кілька секунд.

Copyright © 2008 Андрій Боровський Спеціально для Delphi Plus

Що дає нам написання власної програми передачі аудіо-даних?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью