Поиск mp3 в сети
Поиск
Mp3 файлов в сети (с помощью сервиса
MUSIC.ARDOR.RU)
Онлайн
FM - радио.
Проигрыватель
mp3 файлов.
Поиск видео файлов на
YouTube, и их скачивание.
Клик по иконки "
+" - добавить в свой плейлист.
Клик по иконки "
с" - убрать с своего плейлиста.
Правый клик на созданном плейлисте - сохранить.
Запись единичного файла с плейлиста найденных или всех файлов в созданном плейлисте.
Правый клик по кнопке "
Поиск" - история набранных запросов и быстрый набор имён (редактируем в
inet_radio.pls)
Правый клик по логотипу
Поиск - мини вариант
Клик по тексту "
Выбор исполнителя" - вызывает окно с спискам имён исполнителей на русском и английском языках.
Используется библиотека
fmodex.dll
Для версии
PureBasic 4.40
Поиск mp3:
Онлайн FM радио:
Мини скин:
Правый клик мыши по логу поиск.
Выбор имён исполнителей:
Проигрыватель
mp3 файлов (в альбом с исполнителем поместить фото группы
270x210 формата
jpg с именем "
яяя" ):
Окно поиска и скачивания видео файлов:
Архив с
исходниками
Архив с готовым
EXE файлом
Упрощенный вариант кода:
Enumeration
#Window_0
#List
#Search
#Strin
#play
EndEnumeration
IncludeFile "fmodex.pb"
Structure PlayList ; плёйлист
url.s
Title.s
EndStructure
Global NewList PlayList.PlayList(), Category.s, Handle, channel.l, url.s, sound.l
InitNetwork() ; инициализация
Procedure Search(*g)
DeleteFile("GetPage.htm")
ClearList(PlayList())
ClearGadgetItems(#List)
If ReceiveHTTPFile("http://music.ardor.ru/search.php?p=1&v=0&q="+Category.s+"&x=32&y=15", "GetPage.htm") ; скачиваем страницу с именем GetPage.htm
If OpenFile(0,"GetPage.htm")
While Eof(0) = 0 ; Эта функция определяет, был ли достигнут конец файла. 0 - нет
Text$ = Text$ + ReadString(0) + Chr(13) ; получаем текст в одну строку
Wend
For a=1 To 99
If a<10
Temp = FindString(Text$, Str(a)+". ", 0) ; "> ищем подстроку
;Debug Temp
url.s= Left(String$, Temp - 1) ; первый адресс получен
Debug url.s
String$ = Right(String$, Len(String$) - Temp - 1)
;Debug String$
Temp = FindString(String$, "", 0) ; "> ищем подстроку
Title.s= Left(String$, Temp - 1) ; первое имя получено
Debug Title.s
AddElement(PlayList())
PlayList()\url=url
PlayList()\Title=Title
ElseIf a>=10 ; меняем колич. возвращ. символов
Temp = FindString(Text$, Str(a)+". ", 0) ; "> ищем подстроку
url.s= Left(String$, Temp - 1) ; первый адресс получен
Debug url.s
String$ = Right(String$, Len(String$) - Temp - 1)
Temp = FindString(String$, "", 0) ; "> ищем подстроку
Title.s= Left(String$, Temp - 1) ; первое имя получено
Debug Title.s
AddElement(PlayList())
PlayList()\url=url
PlayList()\Title=Title
EndIf
Next a
CloseFile(0)
EndIf
EndIf
ForEach PlayList()
AddGadgetItem(#List,-1,PlayList()\Title)
Next
EndProcedure
OpenWindow (#Window_0,0,0,380,400,"Поиск mp3 на http://music.ardor.ru/",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
StringGadget(#Strin, 5, 5, 290, 20,"Bad Boys Blue", #PB_String_BorderLess|#WS_BORDER)
ListViewGadget(#List, 5, 30, 370, 330 )
ButtonGadget(#Search,300,5,70,20,"Поиск")
ButtonGadget(#play,30,370,170,20,"Станция ONLY 80's HITS")
Init_FMOD()
FMOD_System_Create(@Handle)
FMOD_System_Init(Handle, 1, #FMOD_INIT_NORMAL, 0)
;{-----------------Главный цикл-------------------------
Repeat
Event = WaitWindowEvent()
Window = EventWindow()
Gadget = EventGadget()
FMOD_Channel_GetPosition(channel, @pos, #FMOD_TIMEUNIT_MS)
Select Event
Case #WM_LBUTTONDBLCLK ; обработка события на двойной клик
If Gadget = #List
Row = GetGadgetState(#List) ; получаем позицию
SelectElement(PlayList(),Row)
url.s =PlayList()\url ; адрес
;url.s= "http://91.121.91.110:3000"
FMOD_System_CreateStream(Handle, @url, #FMOD_DEFAULT, 0, @sound)
FMOD_System_PlaySound(Handle, 0, sound, 0, @channel)
FMOD_Channel_SetVolume( channel, 0.5 )
EndIf
Case #PB_Event_Gadget
Select EventGadget()
Case #Search
If EventType()=#PB_EventType_LeftClick
Category.s= GetGadgetText(#Strin) ; поисковый запрос
Category.s=ReplaceString(Category.s, " ", "+") ; заменяем в поисковом запросе пробелы плюсами
If Category <> ""
If IsThread(ThreadID)=0
ThreadID=CreateThread(@Search(), 0)
Else
MessageRequester("", "Программа занята!"+Chr(10)+"Идет поиск!", #MB_OK|#MB_ICONWARNING)
EndIf
Else
MessageRequester("Внимание!", "Поисковый запрос не определен ?" ,#PB_MessageRequester_Ok)
EndIf
EndIf
Case #play
Url.s= "http://91.121.91.110:3000"
FMOD_System_CreateStream(Handle, @Url, #FMOD_DEFAULT, 0, @sound)
FMOD_System_PlaySound(Handle, 0, sound, 0, @channel)
FMOD_Channel_SetVolume( channel, 0.5 )
Case 3
EndSelect
EndSelect
If Event = #PB_Event_CloseWindow
Break
EndIf
ForEver
;}-------------------------------------------------------
FMOD_Sound_Release(sound)
FMOD_System_Close(Handle)
FMOD_System_Release(Handle)