PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » OpenSource » Интернет-радио


Интернет-радио

Сообщений 1 страница 16 из 16

1

Данная прога позволяет воспроизводить потоковое аудио из интернета, с возможностью записи музыки на диск.

Скрин проги

http://s003.radikal.ru/i204/1002/42/c40a90b2fe57.png

Скачать

0

2

Хотел почитать про UseMP3SoundDecoder(), но че то не нашел видать посты потерты. Вообщем у меня выдает ошибку компилятор: типа я ничего не знаю и запускать не буду  :D

0

3

Да, забыл об этом написать.
Нужно установить библиотеку с MP3 декодером. http://www.purearea.net/pb/download/use … ecoder.rar
Файл SoundPluginMP3 нужно скопировать в C:\Program Files\PureBasic\PureLibraries\UserLibraries
А файл libmad.lib в C:\Program Files\PureBasic\PureLibraries\Windows\Libraries
Версия компилятора обязательно должна быть 4.00, или 4.01, или 4.02. С другими этот декодер не работает.

0

4

Спасибо за подсказку!
А то на библиотеку эту я уже поиском напоролся, а вот с этим:

Пётр написал(а):

Файл SoundPluginMP3 нужно скопировать в C:\Program Files\PureBasic\PureLibraries\UserLibrariesА файл libmad.lib в C:\Program Files\PureBasic\PureLibraries\Windows\LibrariesВерсия компилятора обязательно должна быть 4.00. С другими этот декодер не работает.

я бы еще долго повозился бы пока понял  :D

0

5

А 4.02 пойдет, а то у меня 4.00 нет. Да как их поставить чтобы глюков в системе не было. А то поставил 4.30, так у меня перевод русский автоматом и в 4.31 заработал, притом полный как в 4.30.

Отредактировано haav (09.02.2010 18:07:11)

0

6

haav написал(а):

я бы еще долго повозился бы пока понял

Там, в архиве есть текстовый файлик с таким содержимим
copy SoundPluginMP3 to $PUREBASIC_ROOT\PureLibraries\UserLibraries\
copy libmad.lib to $PUREBASIC_ROOT\PureLibraries\Windows\Libraries\

haav написал(а):

А 4.02 пойдет, а то у меня 4.00 нет

Должен подойти.

0

7

Пётр написал(а):

Должен подойти.

Подошел.

libmad.lib  увесистый, видать там понаписано немало, жаль что как друппи, подсмотреть и подправить при необходимости функции нельзя.

0

8

Есть станция : Retro FM -  песни  прошлых лет.
Её адрес  mms://stream06.rambler.ru/retro_inside?WMContentBitrate=140000
Пробовал в разных плеерах, нигде не работает, только через флеш плеер браузера.
А другого адреса не нашел.

0

9

Я не всё понимаю...
Пытаюсь разобраться с программой Петра, в 4.41 закоментировал строку 36  ; UseMP3SoundDecoder()
и не использую SoundPluginMP3 и  libmad.lib

Загрузка происходит, нет только воспроизведения (mp3 не поддерживается) , а запись происходит чётко в mp3 и без проблем. ?

Не знаю как осуществить запись на BASS.dll, может совместить эти две проги (кода) для записи ?

Отредактировано mirashic (16.05.2010 00:09:04)

0

10

mirashic написал(а):

может совместить эти две праги (кода) для записи ?

Тогда понадобится более "толстый" инет канал.
Ведь будет два инет потока, в BASS.dll и на запись.

0

11

Да включать второй поток только при записи, у меня задержка приблизительно 6-10 секунд в зависимости от станции,
или сразу два...

0

12

Не могу запустить ваш пример, другие работают.
Вернее этот запускается без ошибок, но нет звука?
PB4.00 и занёс библиотеки.
Адреса станций пробовал разные рабочие.

Debug x1 выдает 0, а в других рабочих примерах многозначные числа.
    Debug *mem            -  многозначные числа
    Debug CountBytes    -  многозначные числа

Код:
Procedure.l DownloadToMem ( URL.s, *lpRam, ramsize.l ) 
  Protected agent.s, hInet.l, hData.l, Bytes.l 

  agent.s = "Mozilla/4.0 (compatible; ST)" 
  hInet.l = InternetOpen_ ( @agent.s,0,0,0,0 ) 
  hData.l = InternetOpenUrl_ ( hInet, @URL.s, "", 0, $8000000, 0 ) 
  
  If hData > 0 : InternetReadFile_ ( hData, *lpRam, ramsize.l, @Bytes.l ) : Else : Bytes = -1 : EndIf 
  
  InternetCloseHandle_ (hInet) 
  InternetCloseHandle_ (hFile) 
  InternetCloseHandle_ (hData) 
  
  ProcedureReturn Bytes.l 
EndProcedure 


InitSound() 
UseMP3SoundDecoder() 
*mem=AllocateMemory(300000) 
Repeat 
  CountBytes=DownloadToMem ( "http://195.5.125.6:8000/", *mem, 250000) 
  If CountBytes>0 
    x1=CatchSound(1 ,*mem, CountBytes) 
    If x1 
      SoundVolume(1, 100) 
      PlaySound(1,0) 
    EndIf 
  EndIf 
ForEver

Отредактировано mirashic (16.05.2010 16:48:11)

0

13

Куски данных получаются слишком короткие (около 4096 байт).
Для воспроизведения нужно больше.
Посмотри как это сделнно в моём плеере.

0

14

Пока не освоил запись звука на BASS.dll, не много извращенный способ - совместил две проги.
Второй поток запускается при записи и выключается при остановки.
Версия PB 4.41
Может надо как-то по другому сделать ?
Скорость интернета у меня нормальная и вроде всё работает.

Скачать архив

Отредактировано mirashic (16.05.2010 20:57:56)

0

15

Станция просто супер. :D
Вот что удалось записать http://depositfiles.com/files/5pwm6ev3n

PS.
У немцев не только фильмы про ЭТО, но похоже что песни тоже!

0

16

Значит получилось!

0


Вы здесь » PureBasic - форум » OpenSource » Интернет-радио