Создание интернет радио с помощью библиотеки Bass.dll
И так открываем программу delphi и создаем форму. На форму кидаем: 1- Button 2- ComboBox 3- Label (в настройках кампонента значение Visible - False, в caption -> http://radio-1.avtograd.ru:8001/radio/2)
В свойствах ComboBox->Items->TStrings пишем названия радиостанций, каждая с новой строки:
Юмор FM Поместное Радио Kino FM Милицейская Волна NRJ Russia Радио Алла Русское международное радио Авторадио Дорожное Радио Радио Ваня Радио Рекорд Радио Шансон Радио Метро
В Var добавляем переменную
stream: HSTREAM;
затем в обработчике событий OnCreate пишем: BASS_Init(-1, 44100, 0, Handle, nil);
затем в обработчике событий OnDestroy пишем: bass_free;
переходим к кнопки в обработчике событий OnClick пишем: stream:=BASS_streamCreateURL(pansiChar(Label1.Caption), 0,0,nil, 0);
//если у вас Delphi 2009 или Delphi 2010 (использующая строки unicode), то пишем строку ниже //stream:=BASS_streamCreateURL(pansichar(AnsiString(label1.Caption)), 0, BASS_STREAM_STATUS, nil, 0); BASS_ChannelPlay(stream, false);
затем в обработчике событий ComboBox'а OnClick пишем: BASS_ChannelStop(stream);
и в обработчике событий ComboBox'а OnChange пишем: Case combobox1.ItemIndex of 0: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/2'; 1: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/3'; 2: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/4'; 3: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/6'; 4: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/8'; 5: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/10'; 6: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/11'; 7: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/12'; 8: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/13'; 9: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/14'; 10: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/15'; 11: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/17'; 12: label1.Caption:='http://radio-1.avtograd.ru:8001/radio/18';
Ну вот и все теперь запускаем программу и наслаждаемся))) Исходник программы можно скачать здесь.
Еще один вариант интернет радио с исходниками и возможностью записи потока можно скачать здесь.
Разместите на форме компонент TTrackBar, у меня trackbar1. В событии OnCreate формы добавьте следующий код: //первоначальные установки громкости для trackbar1 trackbar1.Min:=0; trackbar1.Max:=10; trackbar1.Position:=5; А для события OnChangetrackbar1 повесьте следующий код: //установка громкости звука BASS_ChannelSetAttribute(stream,BASS_ATTRIB_VOL, trackBar1.Position/10); Должно работать.
В свойствах ComboBox1-> Items-> TStrings. А вообще если вы собрались разрабатывать проект дальше, то лучше сделать, что то типа плейлиста, например как в уроке 4.1. по созданию OnLine TV видеоплеера.
Для возможности записи радио потока в mp3 файл после: stream:=BASS_streamCreateURL(pansiChar(Label1.Caption), 0,0,nil, 0); добавьте следующий код: BASS_Encode_Start(stream, 'lame.exe --alt-preset standard - FileName.mp3', BASS_ENCODE_AUTOFREE {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF}, nil, 0); BASS_ChannelPlay(stream, false); Кроме того вам придется скачать библиотеку bassenc и lame. Далее закинуть следующие файлы в папку с проектом: bassenc.dll, bassenc.pas, lame.exe, lame_enc.dll. lame.exe предназначена для перекодировки звука в mp3. bassenc - для записи. Не забудьте прописать в Uses модуль bassenc. Скачать эти файлы можно из Интернета или здесь. Да, забыл сказать поток пишется в файл FileName.mp3 (замените на свой). Для остановки записи киньте на форму кнопку и для события OnClick добавьте код: BASS_Encode_Stop(stream);
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]