Уроки PureBasic

Categories

Other Sites

Other Sites

Other Sites



             Поиск по сайту

     

                


    Оставить мне сообщение:



Поиск mp3 в сети

Уроки PureBasic

Поиск Mp3 файлов в сети (с помощью сервиса MUSIC.ARDOR.RU)

Онлайн FM - радио.

Проигрыватель mp3 файлов.

Поиск видео файлов на YouTube, и их скачивание.




Клик по иконки "+" - добавить в свой плейлист.
Клик по иконки "с" - убрать с своего плейлиста.

Правый клик на созданном плейлисте - сохранить.
Запись единичного файла с плейлиста найденных или всех файлов в созданном плейлисте.

Правый клик по кнопке "Поиск" - история набранных запросов и быстрый набор имён (редактируем в inet_radio.pls)

Правый клик по логотипу Поиск - мини вариант

Клик по тексту "Выбор исполнителя" - вызывает окно с спискам имён исполнителей на русском и английском языках.

Используется библиотека fmodex.dll

Для версии PureBasic 4.40



Поиск mp3:

Поиск mp3 в сети



Онлайн FM радио:

Онлайн FM радио



Мини скин:
Правый клик мыши по логу поиск.

Мини



Выбор имён исполнителей:

Поиск mp3 в сети

Уроки PureBasic

Проигрыватель 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)+". <a href=" + Chr(34) , 0) ; 1. <a href=" ищем подстроку ;Debug Temp String$ = Right(Text$, Len(Text$) - Temp - 11) ; Возвращает указанное количество символов, начиная с правой части строки ;Debug String$ Temp = FindString(String$, Chr(34)+">", 0) ; "> ищем подстроку ;Debug Temp url.s= Left(String$, Temp - 1) ; первый адресс получен Debug url.s String$ = Right(String$, Len(String$) - Temp - 1) ;Debug String$ Temp = FindString(String$, "</a>", 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)+". <a href=" + Chr(34) , 0) ; 1. <a href=" ищем подстроку String$ = Right(Text$, Len(Text$) - Temp - 12) ; Возвращает указанное количество символов, начиная с правой части строки Temp = FindString(String$, Chr(34)+">", 0) ; "> ищем подстроку url.s= Left(String$, Temp - 1) ; первый адресс получен Debug url.s String$ = Right(String$, Len(String$) - Temp - 1) Temp = FindString(String$, "</a>", 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) </plaintext> </div><br><br><br><br> <center><img src="img/mp3_seargh.png" width="330" height="490"> </center> <br><br> <br><br> </div> </div> <!-- copyright (t4) --><div align="center">Используются технологии <a href="http://www.ucoz.ru/" title="Создать сайт бесплатно"><b>uCoz</b></a><br /></div><!-- /copyright --> </body> </html>