purebasic.info

PureBasic forum
Текущее время: Пт сен 21, 2018 3:31 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 152 ]  На страницу 1, 2, 3, 4, 5 ... 11  След.
Автор Сообщение
 Заголовок сообщения: FM radio
СообщениеДобавлено: Чт окт 22, 2009 10:40 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Рабочий вариант FM-radio .
Это не AIMP и не друг. продвинутые приемники.
Нет громкости , индикатора загрузки и всего прочего, но вполне рабочий вариант.
Потоковое аудио воспроизводит плеер, загружаемый на html страницу (он не показан, ширина и высота WebGadjet = 0 ).

Радиостанции можно коректировать по вкусу.
Подключаемые html файлы, с адресами станций,
можно взять с сайта :
http://internet-radio.org.ua/


Изображение

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
 
;  Запрет на запуск больше одного раза
*a = CreateSemaphore_(NULL,0,1,GetProgramName())
  If *a <> 0 And GetLastError_()= #ERROR_ALREADY_EXISTS
   CloseHandle_(*a)
   End
 EndIf
; //////////////////////////////
Enumeration
#Window_0
#Font_HyperLink_0
EndEnumeration
 
 
UsePNGImageDecoder()
 
DataSection
Im1:
IncludeBinary "LaveRadio.htm"
Im1End:
Im2:
IncludeBinary "EvropaPlus.htm"
Im2End:
Im3:
IncludeBinary "NasheRadio.htm"
Im3End:
Im4:
IncludeBinary "RetroFM.htm"
Im4End:
Im5:
IncludeBinary "MAXIMUM.htm"
Im5End:
Im6:
IncludeBinary "KISS_FM.htm"
Im6End:
Im7:
IncludeBinary "A-ROCK.htm"
Im7End:
Im8:
IncludeBinary "Mayak24.htm"
Im8End:
Im9:
IncludeBinary "ShamRock.htm"
Im9End:
Im10:
IncludeBinary "LugaRadio.htm"
Im10End:
Im11:
IncludeBinary "MixFm.htm"
Im11End:
Im12:
IncludeBinary "Avtoradio.htm"
Im12End:
Im13:
IncludeBinary "Маккирус.htm"
Im13End:
Im14:
IncludeBinary "Новое Радио.htm"
Im14End:
Im15:
IncludeBinary "Перец FM.htm"
Im15End:
Im16:
IncludeBinary "Радио 13.htm"
Im16End:
Im88:
IncludeBinary "indec5.png"
Im88End:
EndDataSection
 
CatchImage(88, ?Im88, ?Im88End-?Im88)
 
 OpenWindow(#Window_0, 0, 0, 284, 260, "FM radio", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
    BackgroundImage_Window_0_Brush = CreatePatternBrush_(ImageID(88))   ; надевание фона на окно
    If BackgroundImage_Window_0_Brush
      SetClassLong_(WindowID(0), #GCL_HBRBACKGROUND, BackgroundImage_Window_0_Brush)
      RedrawWindow_(WindowID(0), 0, 0, #RDW_ERASE | #RDW_FRAME | #RDW_INVALIDATE | #RDW_ALLCHILDREN)
    EndIf
   
   
    TextGadget(77, 20, 45, 250, 15, "          Выбери радиостанцию") ; текст по умолчанию
    PureCOLOR_SetGadgetColor(77, $055AE6, $000000) ; цвет текста, цвет фона
   
    TextGadget(78, 15, 8, 100, 23, "PureBasic") ; лого
    PureCOLOR_SetGadgetColor(78, $055AE6, $000000) ; цвет текста, цвет фона
    SetGadgetFont(78, LoadFont(79, "Tahoma", 14, 784))
   
     
    HyperLinkGadget(1, 25, 90,  80, 15, "Lave Radio", $0A6DF5 )
    HyperLinkGadget(2, 25, 110, 80, 15, "Evropa Plus", $0A6DF5 )
    HyperLinkGadget(3, 25, 130, 80, 15, "Наше Радио", $0A6DF5 )
    HyperLinkGadget(4, 25, 150, 80, 15, "Ретро FM", $0A6DF5 )
    HyperLinkGadget(5, 25, 170, 80, 15, "MAXIMUM", $0A6DF5 )
    HyperLinkGadget(6, 25, 190, 80, 15, "KISS FM", $0A6DF5 )
    HyperLinkGadget(7, 25, 210, 80, 15, "A-ROCK", $0A6DF5 )
    HyperLinkGadget(8, 25, 230, 80, 15, "Маяк", $0A6DF5 )
   
    HyperLinkGadget(9,  155, 90,  80, 15, "ShamRock", $0A6DF5 )
    HyperLinkGadget(10, 155, 110, 80, 15, "Luga Radio", $0A6DF5 )
    HyperLinkGadget(11, 155, 130, 80, 15, "MixFm", $0A6DF5 )
    HyperLinkGadget(12, 155, 150, 80, 15, "Авторадио", $0A6DF5 )
    HyperLinkGadget(13, 155, 170, 80, 15, "Маккирус", $0A6DF5 )
    HyperLinkGadget(14, 155, 190, 80, 15, "Новое Радио", $0A6DF5 )
    HyperLinkGadget(15, 155, 210, 80, 15, "Перец FM", $0A6DF5 )
    HyperLinkGadget(16, 155, 230, 80, 15, "Радио 13", $0A6DF5 )
   
    HyperLinkGadget(17, 232, 10, 25, 15, "Stop", $0A6DF5 ) ; Stop
 
   
For a=0 To 16
    PureCOLOR_SetGadgetColor(a + 1, #PureCOLOR_SystemColor, #PureCOLOR_DontSetBackColor) ; цвет фона ссылки
    SetGadgetColor(a + 1, #PB_Gadget_FrontColor, $022051) ; цвет ссылки $05387D
Next a  
     
    WebGadget(333, 0, 0, 0, 0, "")
 
 Repeat
     Event = WaitWindowEvent()
     Select Event
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 1
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im1, ?Im1End-?Im1))
           SetGadgetText(77,"Станция :     Lave Radio  106.6 FM            96 kbps")
          Case 2
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im2, ?Im2End-?Im2))
           SetGadgetText(77,"Станция :     Evropa Plus                     128 kbps")
          Case 3
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im3, ?Im3End-?Im3))
           SetGadgetText(77,"Станция :     Наше Радио                      128 kbps")
          Case 4
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im4, ?Im4End-?Im4))
           SetGadgetText(77,"Станция :     Ретро FM                        128 kbps")
          Case 5
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im5, ?Im5End-?Im5))
           SetGadgetText(77,"Станция :     MAXIMUM                          96 kbps")
          Case 6
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im6, ?Im6End-?Im6))
           SetGadgetText(77,"Станция :     KISS FM                         128 kbps")
          Case 7
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im7, ?Im7End-?Im7))
           SetGadgetText(77,"Станция :     A-ROCK                          128 kbps")
          Case 8
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im7, ?Im7End-?Im7))
           SetGadgetText(77,"Станция :     Маяк                             64 kbps")
          Case 9
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im9, ?Im9End-?Im9))
           SetGadgetText(77,"Станция :     ShamRock                         128 kbps")
          Case 10
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im10, ?Im10End-?Im10))
           SetGadgetText(77,"Станция :     Luga Radio                       128 kbps")  
          Case 11
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im11, ?Im11End-?Im11))
           SetGadgetText(77,"Станция :     MixFm                            128 kbps")
          Case 12
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im12, ?Im12End-?Im12))
           SetGadgetText(77,"Станция :     Авторадио   101.RU               64 kbps")
          Case 13
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im13, ?Im13End-?Im13))
           SetGadgetText(77,"Станция :     Маккирус                         128 kbps")
          Case 14
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im14, ?Im14End-?Im14))
           SetGadgetText(77,"Станция :     Новое Радио   США                128 kbps")
          Case 15
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im15, ?Im15End-?Im15))
           SetGadgetText(77,"Станция :     Перец FM                         64 kbps")
          Case 16
           SetGadgetItemText(333,#PB_Web_HtmlCode,PeekS(?Im16, ?Im16End-?Im16))
           SetGadgetText(77,"Станция :     Радио 13                         128 kbps")  
             
         
          Case 17
            SetGadgetState(333, #PB_Web_Stop)  ; Stop        
          EndSelect    
        EndSelect  
If Event=#PB_Event_CloseWindow
Break
EndIf
ForEver
 



Вложения:
FM_radio.rar [38.02 KiB]
Скачиваний: 592

_________________
www.mirashic.narod.ru
Первое знакомство с PB
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 22, 2009 11:13 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2285
Откуда: Russia — Belarus
Благодарил (а): 6 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Это что же получается, радио работает путем его проигрывания через WebGadget? Не правильно ведь, на сколько я знаю, интернет радио выводится сервером по спец. порту для проигрыватель, по этому даже его прослушивание через веб сайт является извращением.
mirashic писал(а):
он не показан, ширина и высота WebGadjet = 0

Можно было попробовать использовать HideGadget().

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 22, 2009 11:35 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Вопрос воспроизводства потокового аидио давно подымался Пётром,
но так и не был решон. Как по другому я не знаю.
Пусть метод извращенный, но это тоже вариант.

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 23, 2009 1:23 am 
Не в сети
GameC@Soft
Аватар пользователя

Зарегистрирован: Сб сен 22, 2007 12:45 pm
Сообщений: 1085
Откуда: Я из лесу вышел, и сразу зашел, в босоножках дырявых и взлядом ночным.
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Парень старался, у него получилось, Молодец!

За это надо хвалить!)

_________________
"Самый большой глюк в PureBasic - это твоя голова...." (с) Артем
Мой сайт: http://feelzone.org.ua/


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс окт 25, 2009 8:16 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Мелкие дополнения ( декоротивные).


Вложения:
FM_radio_2.rar [96.89 KiB]
Скачиваний: 428

_________________
www.mirashic.narod.ru
Первое знакомство с PB
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 16, 2009 9:31 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Другой, наверное уже правильный вариант, воспроизведения
потокового звука с использованием библиотеки Bass.dll

Правда, еще не до конца разобрался, при использовании для
воспроизведения Flash плеера, (первый вариант), практически все
ссылки на поток воспроизводятся.

А для Bass - приходиться выбирать.
Возможно, использую не ту функцию, или не те параметры.

Изображение

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
 
UsePNGImageDecoder()
UseJPEGImageDecoder()
 
;{----------------------Запрет на запуск больше одного раза------------------
*a = CreateSemaphore_(NULL,0,1,GetProgramName())
  If *a <> 0 And GetLastError_()= #ERROR_ALREADY_EXISTS
   CloseHandle_(*a)
   End
 EndIf
;}---------------------------------------------------------------------------
 
;{----------------------Заставка---------------------------------------------
                                       
hWnd    = OpenWindow(0,0,0, 500, 434, "Window Name", #WS_POPUP|#PB_Window_Invisible|#PB_Window_ScreenCentered)
                                       ; CatchImage(44, ?Im2, ?Im2End-?Im2) ;  ижоброжение в exe файле
hBitmap = LoadImage(0, "489537.png")   ; hBitmap = ImageID(44)              ;  ижоброжение в exe файле
SkinWin(hWnd, hBitmap)
HideWindow(0,#False)
Delay(1000); время работы заставки
;}---------------------------------------------------------------------------
   
;{----------------------Таймер-----------------------------------------------
Global g,b
Procedure.s Secundomer() ;----- Сама процедура таймера - всего 3 строчки!
g+1
If g=10:g=0:b=b+1:EndIf
SetGadgetText(18,FormatDate("%ii:%ss", b)+":"+ Str(g))
EndProcedure
;}---------------------------------------------------------------------------
 
;{----------------------Cпектроанализатор------------------------------------
IncludeFile "bass.pbi"
 
Global Handle
Global Event
 
#SPECWIDTH = 400
#SPECHEIGHT = 80
 
Structure BITMAPINFO256
   bmiHeader.BITMAPINFOHEADER
   bmiColors.RGBQUAD[256]
EndStructure
 
Global specpos = 0, specmode = 1
Global bh.BITMAPINFO256
Global Dim specbuf.b(#SPECWIDTH*(#SPECHEIGHT+1))
 
With bh\bmiHeader
   \biBitCount = 8
   \biPlanes = 1
   \biSize = SizeOf(BITMAPINFOHEADER)
   \biWidth = #SPECWIDTH
   \biHeight = #SPECHEIGHT
EndWith
 
For a = 1 To 127
   ;bh\bmiColors[a]\rgbGreen = 256 - 2 * a     ;256 - 2 * a
   bh\bmiColors[a]\rgbRed = 2 * a              ;2 * a
Next a
 
Procedure IIF(expr,y,n)
If expr
  ProcedureReturn y
Else
  ProcedureReturn n
EndIf
EndProcedure
 
Procedure UpdateSpectrum()        ; Функция для создания спектроанализатора
  Define x.l, y.l, y1.l
  Dim FFT.f(1024)
   BASS_ChannelGetData(Handle,@FFT(),#BASS_DATA_FFT2048)
      Dim buf.f(0)
      Define c.l, ci.BASS_CHANNELINFO
      Dim specbuf(#SPECWIDTH * (#SPECHEIGHT + 1))
      BASS_ChannelGetInfo(Handle, @ci)
      Dim buf(ci\chans * #SPECWIDTH * 4)
      BASS_ChannelGetData(Handle, @buf(0), (ci\chans * #SPECWIDTH * 4) | #BASS_DATA_FLOAT)
      For c = 0 To ci\chans - 1
       For X = 0 To #SPECWIDTH - 1
         v.l = (1 - buf(X * ci\chans + c)) * #SPECHEIGHT / 2
         If (v < 0)
           v = 0
         ElseIf (v >= #SPECHEIGHT)
           v = #SPECHEIGHT - 1
         EndIf
         If (X = 0) : Y = v : EndIf
         Repeat
           If (Y < v)
             Y = Y + 1
           ElseIf (Y > v)
             Y = Y - 1
           EndIf
           specbuf(Y * #SPECWIDTH + X) = IIf(c And 1, 127, 1)
         Until (Y = v)
       Next X
      Next c
   DC=GetDC_(WindowID(0))
   SetDIBitsToDevice_(DC, 12, 27, 385, 80, 0, 0, 0, #SPECHEIGHT, @specbuf(0), @bh, 0)  
   ReleaseDC_(WindowID(0), DC)
EndProcedure
;}---------------------------------------------------------------------------
 
;{----Функция для создания потокового звука, получаемыми из сети Интернет----
Procedure Loadfile(url_1$,N)      
    BASS_StreamFree(Handle)        ; Закроем все существующие каналы воспроизведения и освободим системные ресурсы
    Handle=BASS_StreamCreateURL(url_1$, 0, 0, #Null, 0)    
    BASS_ChannelPlay(Handle,0)
    SetGadgetText(444,url_1$)
    SetGadgetText(16,"Станция :            "+GetGadgetText(N)+"                    128 kbps")
    g=0:b=0
    StartTimer( 1 , 100 , @Secundomer())  
EndProcedure
;}---------------------------------------------------------------------------
 
Enumeration
#Window_0
#Image_1
#Image_2
#Image_3
#Image_5
EndEnumeration
 
CatchImage(#Image_1, ?Im,  ?ImEnd-?Im)
CatchImage(#Image_2, ?Im1, ?Im1End-?Im1)
CatchImage(67, ?Im4, ?Im4End-?Im4)
CatchImage(68, ?Im5, ?Im5End-?Im5)
CatchImage(#Image_3, ?Im7, ?Im7End-?Im7)
 
;{--Эта процедура определяет находится ли курсор мышки над заданым окном или гаджетом
 
Procedure IsMouseOver(wnd)
GetWindowRect_(wnd,re.RECT)
GetCursorPos_(pt.POINT)
Result.l = PtInRect_(@re, pt\x | (pt\y<<32) )
ProcedureReturn Result
EndProcedure
 
Procedure EventButton1(Event, Gadget, Type, ImageGadget)
Static Button, Buton_DOWN
If Event=#WM_MOUSEMOVE ; Переместилась мышка
If IsMouseOver(GadgetID(62))
myCursor=LoadCursor_(0,#IDC_HAND) ; курсор рука
SetCursor_(myCursor) ; курсор рука
 
EndIf
EndIf
EndProcedure
;}---------------------------------------------------------------------------
 
;{----------------------Основное окно----------------------------------------
 
OpenWindow(#Window_0, 0, 0, 410, 250, "Radio bass", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
   BackgroundImage_Window_0_Brush = CreatePatternBrush_(ImageID(#Image_3))
   If BackgroundImage_Window_0_Brush
    SetClassLong_(WindowID(#Window_0), #GCL_HBRBACKGROUND, BackgroundImage_Window_0_Brush)
    RedrawWindow_(WindowID(#Window_0), 0, 0, #RDW_ERASE | #RDW_FRAME | #RDW_INVALIDATE | #RDW_ALLCHILDREN)
   EndIf
 
TextGadget(16, 25, 110, 260, 15, "Выбери станцию")
TextGadget(17, 25, 12, 355, 15, "Информация")
TextGadget(18, 318, 110, 45, 15, "00:00:0")
HyperLinkGadget(19, 388, 12, 10, 15, "?",RGB(255,0,0))
 
For k=16 To 19
SetGadgetColor(k, #PB_Gadget_FrontColor,RGB(1, 161, 254))
SetGadgetColor(k,#PB_Gadget_BackColor,RGB(0, 0, 0))
Next k
 
TextGadget     (20, 387,186,30,15,"50")
HyperLinkGadget(21,10, 160,70,15,"A-ROCK",     RGB(255,0,0))
HyperLinkGadget(22,90, 160,70,15,"Kiss FM",    RGB(255,0,0))
HyperLinkGadget(23,170,160,70,15,"Makkirus",   RGB(255,0,0))
HyperLinkGadget(24,250,160,70,15,"Радио 13",   RGB(255,0,0))
HyperLinkGadget(25,330,160,70,15,"Luga Radio", RGB(255,0,0))
 
HyperLinkGadget(26, 295, 215, 55, 15, "Загрузка",   RGB(255,0,0))
HyperLinkGadget(27, 355, 215, 55, 15, "Плейлист",    RGB(255,0,0))
 
StringGadget(444, 12, 216, 273, 15, "http://207.200.96.225:8020",#PB_String_BorderLess)
PureCOLOR_SetGadgetColor(444, RGB(129, 129, 129), RGB(29, 26, 26))
 
ButtonID=ImageGadget(62, 380, 107, 23, 23, ImageID(67))
 
 
For h=20 To 27
SetGadgetColor(h, #PB_Gadget_FrontColor,RGB(129, 129, 129))
SetGadgetColor(h,#PB_Gadget_BackColor,RGB(29, 26, 26))
Next h
 
ImageGadget(#Image_2, 0, 0, 0, 0, ImageID(#Image_1))
ImageGadget(#Image_1, 0, 0, 0, 0, ImageID(#Image_2))
 
SplitterGadget(99, 8, 187, 370, 14, #Image_2,#Image_1,  #PB_Splitter_Vertical)
 
BASS_Init(-1, 44100, 0, WindowID(0), #Null)
BASS_SetVolume(0.5)
;}------------------------------------------------------------------------------
 
Repeat
Event= WaitWindowEvent(10)
Window=EventWindow()
Gadget=EventGadget()
 Select Event
  Case #PB_Event_Gadget
    Select EventGadget()
    Case 21
    Loadfile("http://stream4.radiostyle.ru:8004/a-rock",21)
    Case 22
    Loadfile("http://217.20.164.164:8000/kissfm.mp3",22)
    Case 23
    Loadfile("http://w02-sw01.akadostream.ru:8111/makkirus128.mp3",23)
    Case 24
    Loadfile("http://play.radio13.ru:8000/radio13-128-mp3",24)
    Case 25
    Loadfile("http://195.5.125.6:8000/",25)
    Case 26
    Loadfile(GetGadgetText(444),26)
    Case 27
;{-----------------------------Плейлист----------------------------------------
Enumeration
  #ListIconGadget_2
EndEnumeration
CatchImage(3, ?Im3, ?Im3End-?Im3)
 
OpenWindow(60, 0, 0, 450, 480, "Плейлист", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)  
   SetWindowColor(60,RGB(13, 13, 13))
   ImageGadget(61, 0, 0, 450, 140, ImageID(3))
 
   ListIconGadget(#ListIconGadget_2, 5, 100, 440, 350, "   http  адресс  FM  радиостанций", 280, #PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
   AddGadgetColumn(0, 1, "Название", 130)
        AddGadgetItem(#ListIconGadget_2, -1, "")
   AddGadgetItem(#ListIconGadget_2, -1, "http://16bit.fm:9500"+Chr(10)+"Радио 16BIT.FM")
   AddGadgetItem(#ListIconGadget_2, -1, "http://94.103.95.39:9000"+Chr(10)+"BestDance.FM")
   AddGadgetItem(#ListIconGadget_2, -1, "http://live1.radiogroup.com.ua:8000/europaplus128"+Chr(10)+"Europa Plus")
   AddGadgetItem(#ListIconGadget_2, -1, "http://live.galaradio.com:8000/kiev"+Chr(10)+"Radio Gala")
   AddGadgetItem(#ListIconGadget_2, -1, "http://stream.loveradio.ru:8000/Loveradio_96_stereo.mp3"+Chr(10)+"Love радио")
   AddGadgetItem(#ListIconGadget_2, -1, "http://mixfm.com.ua:8128"+Chr(10)+"MixFm")
   AddGadgetItem(#ListIconGadget_2, -1, "http://listen.radiopremium.ru:9000/premium32"+Chr(10)+"Радио Premium")
   AddGadgetItem(#ListIconGadget_2, -1, "http://217.20.175.72:3200"+Chr(10)+"RadioBengel")
        AddGadgetItem(#ListIconGadget_2, -1, "")
   AddGadgetItem(#ListIconGadget_2, -1, "http://sanfm.ru:8000/live"+Chr(10)+"SanRadio")
   AddGadgetItem(#ListIconGadget_2, -1, "http://shamrock.kiev.ua:8000/folk128"+Chr(10)+"ShamRock")
   AddGadgetItem(#ListIconGadget_2, -1, "http://212.26.129.222:8001"+Chr(10)+"Наше Радио")
   AddGadgetItem(#ListIconGadget_2, -1, "http://live.ncradio.ru/256.mp3"+Chr(10)+"Новое Чистое Радио")
   AddGadgetItem(#ListIconGadget_2, -1, "http://62.80.190.246:8000/ProstoRadiO128"+Chr(10)+"Просто Ради.О")
   AddGadgetItem(#ListIconGadget_2, -1, "http://play.radio13.ru:8000/radio13-128-mp3"+Chr(10)+"Радио 13")
   AddGadgetItem(#ListIconGadget_2, -1, "http://server1.radioserver.fm:8000/radiozaryad"+Chr(10)+"Радио Заряд")
   AddGadgetItem(#ListIconGadget_2, -1, "http://radioserver.fm:8000/obogrelov-fm"+Chr(10)+"Радио Obogrelov")
   AddGadgetItem(#ListIconGadget_2, -1, "http://82.193.116.85:8888/radioplus_hi"+Chr(10)+"Eto Radio Plus")
   AddGadgetItem(#ListIconGadget_2, -1, "http://91.193.68.87:8155"+Chr(10)+"Радио-Премьер")
   AddGadgetItem(#ListIconGadget_2, -1, "http://213.159.71.19:8000/48.mp3"+Chr(10)+"Радио РОКС")
   AddGadgetItem(#ListIconGadget_2, -1, "http://82.193.116.85:8888/eradio_hi"+Chr(10)+"Радио «Є»")
   AddGadgetItem(#ListIconGadget_2, -1, "http://91.202.72.22:8000/rusradio-128"+Chr(10)+"Русское Радио (Украина)")
   AddGadgetItem(#ListIconGadget_2, -1, "http://online1.uhradio.com.ua:8000/uhradio"+Chr(10)+"УХ радио 101,1 FM")
   AddGadgetItem(#ListIconGadget_2, -1, "http://live.ipfm.net:8000/hit-fm-128"+Chr(10)+"Хит FM, Hit FM, XIT FM (Украина)")
   AddGadgetItem(#ListIconGadget_2, -1, "http://83.222.4.42:8800/"+Chr(10)+"Радио Шансон (Россия)")
        AddGadgetItem(#ListIconGadget_2, -1, "")
   AddGadgetItem(#ListIconGadget_2, -1, "http://85.25.86.69:8400"+Chr(10)+"C H R O M A N O V A  FM presents Ambient and Chillout Sets 247")
   AddGadgetItem(#ListIconGadget_2, -1, "http://64.71.144.178:8060"+Chr(10)+"FM - Club")
   AddGadgetItem(#ListIconGadget_2, -1, "http://64.71.145.130:8040"+Chr(10)+"FM - Trance")
   AddGadgetItem(#ListIconGadget_2, -1, "http://72.13.93.117:8050"+Chr(10)+"FM - Dance Hits")
   AddGadgetItem(#ListIconGadget_2, -1, "http://200.6.157.20:8211"+Chr(10)+"247online HQ High Quality radio - www.247onlineradio.com")
   AddGadgetItem(#ListIconGadget_2, -1, "http://89.20.136.213:9800"+Chr(10)+"16BIT.FM IDEA Channel  Intelligent Digital Experimental Sound ")
        AddGadgetItem(#ListIconGadget_2, -1, "")
   AddGadgetItem(#ListIconGadget_2, -1, "http://94.23.0.111:8020"+Chr(10)+"Ambient Lounge Radio")
   AddGadgetItem(#ListIconGadget_2, -1, "http://207.200.96.225:8020"+Chr(10)+"Bluemars - Music for the Space Traveler")
   AddGadgetItem(#ListIconGadget_2, -1, "http://64.57.105.178:8000"+Chr(10)+"Culture Failure")
   AddGadgetItem(#ListIconGadget_2, -1, "http://207.200.96.225:8022"+Chr(10)+"Cryosleep - Zero Beat Guaranteed")  
        AddGadgetItem(#ListIconGadget_2, -1, "")
   AddGadgetItem(#ListIconGadget_2, -1, "http://64.62.252.141:8100"+Chr(10)+"FM - Disco Ball")
   AddGadgetItem(#ListIconGadget_2, -1, "http://64.71.145.130:8095"+Chr(10)+"FM - 80s Channel")
   AddGadgetItem(#ListIconGadget_2, -1, "http://66.103.27.11:14700"+Chr(10)+"CLUB.FM 80 - Freestyle Express 128k")  
   AddGadgetItem(#ListIconGadget_2, -1, "http://66.103.27.11:13900"+Chr(10)+"000Audio.com - 90s Dance Hits 128k")
        AddGadgetItem(#ListIconGadget_2, -1, "")
   AddGadgetItem(#ListIconGadget_2, -1, "http://66.90.73.17:9000"+Chr(10)+"A9 RADIO")
   AddGadgetItem(#ListIconGadget_2, -1, "http://stream.bollywoodmusicradio.com"+Chr(10)+"Индия Bollywood Music Radio")  
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")  
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")
   AddGadgetItem(#ListIconGadget_2, -1, ""+Chr(10)+"")  
   
   
   
 
   
   
   
    Case #ListIconGadget_2
         Loadfile(GetGadgetText(#ListIconGadget_2),27)
;}-------------------------------------------------------------------------------
    Case 19
;{-----------------------------О программе-------------------------------------  
    CatchImage(69, ?Im6, ?Im6End-?Im6)
    OpenWindow(59, 0, 0, 320, 320, "Информация о программе", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
     
     BackgroundImage_Window_0_Brush = CreatePatternBrush_(ImageID(69))
     If BackgroundImage_Window_0_Brush
       SetClassLong_(WindowID(59), #GCL_HBRBACKGROUND, BackgroundImage_Window_0_Brush)
       RedrawWindow_(WindowID(59), 0, 0, #RDW_ERASE | #RDW_FRAME | #RDW_INVALIDATE | #RDW_ALLCHILDREN)
     EndIf
     
     TextGadget     (70, 20, 295, 95, 15, "Сайт программы :")
     HyperLinkGadget(71, 140, 295, 150,15,"http://www.mirashic.narod.ru/",RGB(255, 4, 0))
     TextGadget     (72, 120, 124, 65, 15, "Версия : 1.0")
     TextGadget     (73, 30, 250, 165, 15, "Автор :    Мирошниченко Олег")
     TextGadget     (74, 30, 144, 265, 15, "Онлайн проигрыватель FM радио")
     TextGadget     (75, 30, 160, 265, 15, "Бесплатная версия")
     TextGadget     (76, 30, 176, 265, 15, "Сделано в программной среде : ")
     HyperLinkGadget(77, 50, 200, 130, 30, "PureBasic",RGB(255, 4, 0))
         SetGadgetFont (77, LoadFont(77, "Arial", 20, 16))
         SetGadgetColor(77, #PB_Gadget_FrontColor,RGB(255, 81, 78))
         SetGadgetColor(77, #PB_Gadget_BackColor, RGB(0, 0, 0))
 
     For k=70 To 76
      SetGadgetColor(k, #PB_Gadget_FrontColor,RGB(129, 129, 129))
      SetGadgetColor(k,#PB_Gadget_BackColor,RGB(0, 0, 0))
     Next k
;}-----------------------------------------------------------------------------    
    Case 71
      RunProgram("http://www.mirashic.narod.ru/")
    Case 77
      RunProgram("http://purebasic.info/")    
    Case 62
     Toggle = Toggle ! 1
          If Toggle
          BASS_SetVolume(0)
          SetGadgetState(62,ImageID(68))
          Else
          BASS_SetVolume(Value/100)
          SetGadgetState(62,ImageID(67))
          EndIf
    Case 99
     Value=GetGadgetState(99)/3.66
     SetGadgetText(20,Str(Value))
     BASS_SetVolume(Value/100)
     SetGadgetState(62,ImageID(67))
    EndSelect
 EndSelect
 
 UpdateSpectrum()
EventButton1(Event, Gadget, Type, 1)
If Event=#PB_Event_CloseWindow
CloseWindow(Window)
EndIf
Until Event=#PB_Event_CloseWindow And Window=#Window_0
 
;{---------------------------загрузка изоброжений------------------------------
DataSection
 Im:
 IncludeBinary "ajy_13.png"
 ImEnd:
 Im1:
 IncludeBinary "ajy_12.png"
 Im1End:
 Im3:
IncludeBinary "img_2.jpg"
 Im3End:
Im4:
IncludeBinary "24.png"
 Im4End:
Im5:
IncludeBinary "25.png"
 Im5End:
Im6:
IncludeBinary "info.png"
 Im6End:
Im7:
IncludeBinary "фон1.png"
 Im7End:
EndDataSection
;}-----------------------------------------------------------------------------
 



Вложения:
Radio_bass11111.rar [514.03 KiB]
Скачиваний: 482

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Последний раз редактировалось mirashic Пн дек 21, 2009 6:17 pm, всего редактировалось 13 раз(а).
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 17, 2009 8:23 am 
Не в сети
профессор

Зарегистрирован: Вс окт 25, 2009 5:48 pm
Сообщений: 263
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Класс! Играет без остановок, даже если чего нибудь качаю. Очень многие программы в сети пробовал, как только битрейт выше 32, тормоза. А программы mirashic, что первая, что вторая играют без остановок, да еще и качество отличное.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 17, 2009 9:53 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6382
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
mirashic писал(а):
Другой, наверное уже правильный вариант, воспроизведения
потокового звука с использованием библиотеки Bass.dll

Работает конечно, но как написано!!! Если можно то поучу немного...
Ну во первых Procedure IIF??? Не понятно, зачем и где использовано?
Ну спектроанализатор не анализирую, понятно, что взят готовый.
Procedure Loadfile1() - пять станций, пять процедур, а 100 станций - будет 100 процедур?
Есть же возможность передавать параметры, а потому достаточно одной процедуры. В каждом вызове у тебя повторяется BASS_StreamFree, добавляем тоже в эту процедуру, туда же вставляем название станции, которое копируем с названия кнопки:
Код:
1
2
3
4
5
6
7
8
Procedure Loadfile(url_1$,N)      ;Функция для создания потокового звука, получаемыми из сети Интернет
    BASS_StreamFree(Handle)
    SetGadgetText(77,"Станция :            "+GetGadgetText(N)+"                    128 kbps")
    Handle=BASS_StreamCreateURL(url_1$, 0, 0, #Null, 0)  
    BASS_SetVolume(100)
    BASS_ChannelPlay(Handle,0)
EndProcedure
 



Теперь вызов имеет такой вид:

Код:
1
2
3
4
5
6
7
8
9
10
 Case #PB_Event_Gadget
    Select EventGadget()
    Case 21
    Loadfile("http://stream4.radiostyle.ru:8004/a-rock",21)
   
    Case 22
    Loadfile("http://217.20.164.164:8000/kissfm.mp3",22)
   
    Case 23
...



Получается в 100 раз компактнее ( если 100 станций :D ) ну и читать легче код, и наращивать станции очень просто.

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 17, 2009 3:24 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Спасибо kvitaliy.
Мне еще учиться и учиться.
Procedure IIF используеться в спектро индикаторе,
без нее не работает индикатор.
А код, я согласен надо оптимизировать.
Просто я долго бился с bass, не мог запустить.
А тут вчера получилось, тепере когда работает можно и оптимизировать и работать над интерфейсом.


Не могу разобраться с регулятором громкости ?

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 17, 2009 4:00 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Уже обновил.

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 17, 2009 6:40 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6382
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
mirashic писал(а):
Не могу разобраться с регулятором громкости ?


А что там сложного? Вся громкость регулируется от 0 до 1. Т.о. если дать команду BASS_SetVolume(0.5), то громкость уменьшиться на половину, а если BASS_SetVolume(0.1), то соответственно будет составлять 10-ю часть. Контролировать актуальную громкость можно командой BASS_GetVolume()

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 17, 2009 7:00 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Как все просто!
Значит я не правильно перевел справку по Bass
(или 0 или 1), все перепробовал кроме дробей.
Вот и мучаюсь.
Спасибо, уже стола проясняться.

Добавил громкость.

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 21, 2009 6:52 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Рылся на немецком форуме и открыл для себя,
другой способ записи HTML кода в WebGadget.

Весь код внутри exe файла.
Раньше сколько ссылок - столько и отдельных подключаемых страниц.
Для кого-то это элементарные вещи, а я не умел.

Сделал на основе Online TV плеер.

Правда последние четыре ссылки, при выходе выдают ошибку ?
А так, у кого безлимитный интернет можно пользоваться.

Если что не так, сильно не ругайтесь, я только учусь.

Изображение

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
 
Enumeration
  #Window
  #WebGadget
EndEnumeration
 
OpenWindow(#Window,0,0,480,600,"Онлайн TV",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetWindowColor(0,RGB(0, 0, 0))
 
;{/////////////////////////////////Кнопки каналов//////////////////////////////////////////////////
    HyperLinkGadget(31, 25,  390, 190, 15, "Вести               ( Russia | Новости  )",        $ffffff )    
    HyperLinkGadget(32, 25,  410, 190, 15, "РТР-Планета   ( Russia | Новости  )",              $ffffff )
    HyperLinkGadget(33, 25,  430, 190, 15, "Первый              ( Russia | Новости  )",       $ffffff )
    HyperLinkGadget(34, 25,  450, 190, 15, "EuroSport          ( Russia |  Спорт    )",         $ffffff )  
 ;/////////////////////////////////////////////////////////////////////////////////////////////////
    HyperLinkGadget(35, 270,  390, 190, 15, "O-TV                      ( Ukraine | Музыка )",  $ffffff )
    HyperLinkGadget(36, 270,  410, 190, 15, "Корбина ТВ          ( Russia | Музыка   )",       $ffffff )
    HyperLinkGadget(37, 270,  430, 190, 15, "A-ONE                   ( Russia | Музыка   )",   $ffffff )
    HyperLinkGadget(38, 270,  450, 190, 15, "MTV                      ( Russia | Музыка   )",  $ffffff )
    HyperLinkGadget(39, 270,  470, 190, 15, "icq tv онлайн        ( Russia | Музыка   )",      $ffffff )
 ;/////////////////////////////////////////////////////////////////////////////////////////////////
    HyperLinkGadget(40, 25,  490, 190, 15, "Твой строй      ( Russia | Научный )",             $ffffff )
    HyperLinkGadget(41, 25,  510, 190, 15, "NASA TV          (   Eng   | Научный )",           $ffffff )
 ;/////////////////////////////////////////////////////////////////////////////////////////////////
    HyperLinkGadget(42, 270,  510, 190, 15, "Первый Игровой  ( Russia | Образов)",             $ffffff )
    HyperLinkGadget(43, 270,  530, 190, 15, "Discover Greece    ( Russia | Образов)",          $ffffff )
    HyperLinkGadget(44, 270,  550, 190, 15, "Nat Geo WILD       ( Russia | Образов)",          $ffffff )
    HyperLinkGadget(45, 270,  570, 190, 15, "National Geograph ( Russia | Образов)",           $ffffff )
;/////////////////////////////////////////////////////////////////////////////////////////////////  
    HyperLinkGadget(46, 25,   550, 190, 15, "Comedy Club       ( Russia |  Юмор  )",        $ffffff )
    HyperLinkGadget(47, 25,   570, 190, 15, "НСТ ТВ               ( Russia |  Юмор  )",     $ffffff )
 ;}/////////////////////////////////////////////////////////////////////////////////////////////////
 
For h=31 To 47
  SetGadgetColor(h, #PB_Gadget_FrontColor, $5C5C5C)  ;цвет
  SetGadgetColor(h, #PB_Gadget_BackColor, $000000)   ;фон
Next h
 
Procedure TV_File(pol.s, str.s)
;{---------Загрузка изобр.--------------------------------
 Buffer$=Space(512)
 GetFullPathName_(str.s, Len(Buffer$),@Buffer$,@FilePart)
 img$ = PeekS(@Buffer$)
;}--------------------------------------------------------
Html.s
Html + "<style type='text/css'>"
Html + ".con{ position: absolute; left: 0px; top: 0px;  width: 470px; height: 300px;}"
Html + "body {margin:0px; padding:0px; background-color: #000000;}"
Html + "</style>"
Html + ""
Html + ""
Html + "<object  CLASSID='CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95' width='470' height='370' >"
Html + "<param name='FileName' value='"+pol.s+"'>"
Html + "<param name='ShowStatusBar' value='true'>"                          
Html + "</object>"
Html + ""
Html + "<div class='con'><img src='"+img$+ "' width='470' height='300'></div>"
 
SetGadgetItemText(#WebGadget, #PB_Web_HtmlCode, Html)
EndProcedure
 
 
Procedure TV_File_2(pol.s)
Html.s
Html + "<style type='text/css'>"
Html + ".con{ position: absolute; left:0px; top:0px;  width:470px; height:300px;}"
Html + "body {margin:0px; padding:0px; background-color:#000000;}"
Html + "</style>"
Html + ""
Html + "<script type='text/javascript' src="+pol.s+"></script>"
Html + "<script type='text/javascript'>counter()</script>"                      
SetGadgetItemText(#WebGadget, #PB_Web_HtmlCode, Html)
EndProcedure
 
;{------------------------Web Плеер------------------------------------------
;{---------Загрузка изобр.---------------------------------------------------
FileName$="imgs/img_3.png"
Buffer$=Space(512)
GetFullPathName_(FileName$,Len(Buffer$),@Buffer$,@FilePart)
img$ = PeekS(@Buffer$)
;}---------------------------------------------------------------------------
Html.s
Html + "<style type='text/css'>"
Html + "body{ background-color: #000000; margin:0px; padding:0px; color: #AAAAAA; font-family:  Arial; font-size:  36px; }"
Html + ".con{ border: 1px solid #6C6C6C; width: 470px; height: 370px; }"
Html + "</style>"
Html + "<div class='con'><br>"
Html + "<center><img src='"+img$+"'></center>"
Html + "<center>Выбери телеканал</center>"
Html + "</div>"
 
WebGadget(#WebGadget,5,5,480,380,"about:blank",#PB_Web_Mozilla)
 
While GetGadgetAttribute(#WebGadget, #PB_Web_Busy) <> 0
  While WindowEvent()  
  Delay(0)  
  Wend
Wend
 
SetGadgetItemText(#WebGadget, #PB_Web_HtmlCode, Html)
;}----------------------------------------------------------------------------
 
Repeat
Event= WaitWindowEvent()
Window=EventWindow()
Gadget=EventGadget()
 Select Event
  Case #PB_Event_Gadget
    Select EventGadget()
    Case 31
    TV_File("http://www.vesti.ru/video1.asx?vid=onair","imgs/вести_2.png")
    Case 32
    TV_File("mms://live.rfn.ru/rtr-planeta_128","imgs/РТР-Планета.png")
    Case 33
    TV_File("http://www.1tv.ru/owa/win/ort6_itv.asx_file_z?p_ch=1tvdoc&p_bt=500","imgs/первый_канал.png")
    Case 34
    TV_File("http://a1439.l3192233438.c31922.g.lm.akamaistream.net/D/1439/31922/v0001/reflector:33438","imgs/EuroSport.png")
    Case 35
    TV_File("http://212.26.146.148/asxgen/wmtencoder/otv","imgs/O-TV.png")
    Case 36
    TV_File("mms://85.21.138.210/mclips4","imgs/Корбина.png")
    Case 37
    TV_File("http://www.aillin.ru/stream/aone2_client_sl","imgs/a_one.png")
    Case 38
    TV_File("http://76.73.49.218/mtvl2j3nkj34?MSWMExt=.asf","imgs/mtv_1.png")
    Case 39
    TV_File("http://s52wm.castup.net/995090001-52.wmv?ct=RU&rg=EE&aid=509&st=0&ts=0&cu=EBE016AC-731E-4F23-B225-31AC8EF602B3","imgs/icq.png")
    Case 40
    TV_File("mms://212.1.238.70/ts_tv4","imgs/Твой-строй.png")
    Case 41
    TV_File("http://playlist.yahoo.com/makeplaylist.dll?id=1369080&segment=149773","imgs/NASA.png")
    Case 42
    TV_File("mms://217.20.164.164:8000/1gtv.asf","imgs/Первый-Игровой.png")
    Case 43
    TV_File("mms://84.254.38.223:35900","imgs/discovery.png")
;----------------------------------------------------------------    
    Case 44
    TV_File_2("http://nashgorod.pnz.ru/xxx/Nat_Geo_Wild.js")  
    Case 45
    TV_File_2("http://nashgorod.pnz.ru/xxx/National_Geo.js")
    Case 46
    TV_File_2("http://nashgorod.pnz.ru/xxx/Comedy_Club.js")
    Case 47
    TV_File_2("http://nashgorod.pnz.ru/xxx/NST.js")    
    EndSelect
 EndSelect
If Event=#PB_Event_CloseWindow
Break
EndIf
ForEver



Вложения:
OnLine_TV.rar [378.08 KiB]
Скачиваний: 432

_________________
www.mirashic.narod.ru
Первое знакомство с PB
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 23, 2009 7:10 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Попытка создания спектра индикатора
для плеера.
В общем получилось, но загрузка процессора большая.
Индикация показывает начало частотного диапазона.

Изображение

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
 
;-------------------Cпектроанализатор но Bass.dll-----------------------------
;                    (c) 2009 - mirashic
;-----------------------------------------------------------------------------
 
UsePNGImageDecoder()
UseJPEGImageDecoder()
 
 
Global Val
Global Handle
Global Event
Global column,width,height,color
 
;{----------------------Параметры---------------------------------------------
x=10                  ;позиция от начала x
y=30                  ;позиция от начала y
column=22             ;колличество столбов
width=16              ;ширина столба
height=90             ;высота столба
h=1                   ;ширина между столбами
color=RGB(1, 72, 187) ;цвет
;}----------------------------------------------------------------------------
 
;{----------------------Бокс с закругленными краями--------------------------
CreateImage(99,400,130 )
hdc = StartDrawing(ImageOutput(99))
  Box(0,0,400,130,RGB(0, 0, 0))    
  DrawingMode(901)
  FrontColor($6C6C6C)  
  RoundRect_(hdc,0,0,400,130,5,5)
StopDrawing()
;}---------------------------------------------------------------------------
 
;{----------------------Cпектроанализатор------------------------------------
CreateImage(0,width,height)
IncludeFile "bass.pbi"
 
Procedure UpdateSpectrum()        ; Функция для создания спектроанализатора
  Dim FFT.f(1024)
  BASS_ChannelGetData(Handle,@FFT(),#BASS_DATA_FFT2048)
For f=0 To column
 
   Val= Sqr(fft(f))  * 180            ;получение параметра по частотам
 
   StartDrawing(ImageOutput(0))
   Box(0,0,20,height,RGB(17, 17, 17))
   Box(0,height-Val,20,Val,color)        
 
;------------Поперечные линии-------------------
    a=height
  For d=0 To 15
    LineXY(0, a-8,  width, a-8,  RGB(0, 0, 0))
    a=a-8
  Next d
;-----------------------------------------------
   StopDrawing()
 
   SetGadgetState(300+f,ImageID(0))
Next f
EndProcedure
;}---------------------------------------------------------------------------
 
;{----Функция для создания потокового звука, получаемыми из сети Интернет----
Procedure Loadfile(url_1$)      
    BASS_StreamFree(Handle)        ; Закроем все существующие каналы воспроизведения и освободим системные ресурсы
    Handle=BASS_StreamCreateURL(url_1$, 0, 0, #Null, 0)    
    BASS_ChannelPlay(Handle,0)
EndProcedure
;}---------------------------------------------------------------------------
 
Enumeration
 #Window_0
 #Image_1
 #Image_2
 #Volume
EndEnumeration
 
CatchImage(#Image_1, ?Im,  ?ImEnd-?Im)
CatchImage(#Image_2, ?Im1, ?Im1End-?Im1)
 
;{----------------------Открыть MP3------------------------------------------
Procedure LoadMP3()
 BASS_StreamFree(Handle)
  FileName.s = OpenFileRequester("","","*.*|*.*",0)
  If FileName
    Handle=BASS_StreamCreateFile(0, @FileName, 0, 0, 0)
    BASS_SetVolume(100)
    BASS_ChannelPlay(Handle,0)  
  EndIf
EndProcedure
;}---------------------------------------------------------------------------
 
;{----------------------Основное окно----------------------------------------
 
OpenWindow(#Window_0, 0, 0, 410, 220, "Spectr", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_Invisible)
SetWindowColor(#Window_0, RGB(29, 26, 26))
 
 
For f=0 To column
  ImageGadget(300+f,x, y,0,0,ImageID(0))
  x=x+(width+h)
Next f
 
  ImageGadget(902,4,4,0,0,ImageID(99))
 
 
  TextGadget     (220, 387,186,30,15,"50")
  HyperLinkGadget(221,10, 160,70,15,"Открыть MP3",RGB(255,0,0))
  HyperLinkGadget(222,110,160,70,15,"Kiss FM",    RGB(255,0,0))
  HyperLinkGadget(223,180,160,70,15,"Makkirus",   RGB(255,0,0))
  HyperLinkGadget(224,260,160,70,15,"Радио 13",   RGB(255,0,0))
  HyperLinkGadget(225,330,160,70,15,"Luga Radio", RGB(255,0,0))
 
For h=220 To 225
  SetGadgetColor(h,#PB_Gadget_FrontColor,RGB(129,129,129))
  SetGadgetColor(h,#PB_Gadget_BackColor, RGB(29,  26, 26))
Next h
 
  ImageGadget(#Image_2, 0, 0, 0, 0, ImageID(#Image_1))
  ImageGadget(#Image_1, 0, 0, 0, 0, ImageID(#Image_2))
 
  SplitterGadget(#Volume, 8, 187, 370, 14, #Image_2,#Image_1,  #PB_Splitter_Vertical)
 
 
 
BASS_Init(-1, 44100, 0, WindowID(0), #Null)
BASS_SetVolume(0.5)
 
;}------------------------------------------------------------------------------
HideWindow(#Window_0,0)
Repeat
Event= WaitWindowEvent(1)
Window=EventWindow()
Gadget=EventGadget()
 Select Event
  Case #PB_Event_Gadget
    Select EventGadget()
 
    Case 221
    LoadMP3()
    Case 222
    Loadfile("http://217.20.164.164:8000/kissfm.mp3")
    Case 223
    Loadfile("http://w02-sw01.akadostream.ru:8111/makkirus128.mp3")
    Case 224
    Loadfile("http://play.radio13.ru:8000/radio13-128-mp3")
    Case 225
    Loadfile("http://195.5.125.6:8000/")
    Case #Volume
     Val=GetGadgetState(#Volume)/3.66
     SetGadgetText(220,Str(Val))
     BASS_SetVolume(Val/100)
    EndSelect
 EndSelect
 
UpdateSpectrum()
 
If Event=#PB_Event_CloseWindow
CloseWindow(Window)
EndIf
Until Event=#PB_Event_CloseWindow And Window=#Window_0
 
;{---------------------------загрузка изоброжений------------------------------
DataSection
 Im:
 IncludeBinary "ajy_13.png"
 ImEnd:
 Im1:
 IncludeBinary "ajy_12.png"
 Im1End:
EndDataSection
;}-----------------------------------------------------------------------------
 



Вложения:
Spectr.rar [219.88 KiB]
Скачиваний: 392

_________________
www.mirashic.narod.ru
Первое знакомство с PB
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 23, 2009 7:30 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11255
Благодарил (а): 4 раз.
Поблагодарили: 429 раз.
mirashic писал(а):
В общем получилось, но загрузка процессора большая.
Не надо так часто обновлять график.
Ну зачем это делать каждую миллисекунду (1000 раз в секунду)?
Достаточно раз в 50 миллисекунд.

Да и вообще, прорисовывать график лучше в потоке.


Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
;-------------------Cпектроанализатор но Bass.dll-----------------------------
;                    (c) 2009 - mirashic
;-----------------------------------------------------------------------------
 
UsePNGImageDecoder()
UseJPEGImageDecoder()
 
 
Global Val
Global Handle
Global Event
Global column,width,height,color
 
;{----------------------Параметры---------------------------------------------
x=10                  ;позиция от начала x
y=30                  ;позиция от начала y
column=22             ;колличество столбов
width=16              ;ширина столба
height=90             ;высота столба
h=1                   ;ширина между столбами
color=RGB(1, 72, 187) ;цвет
;}----------------------------------------------------------------------------
 
;{----------------------Бокс с закругленными краями--------------------------
CreateImage(99,400,130 )
hdc = StartDrawing(ImageOutput(99))
  Box(0,0,400,130,RGB(0, 0, 0))    
  DrawingMode(901)
  FrontColor($6C6C6C)  
  RoundRect_(hdc,0,0,400,130,5,5)
StopDrawing()
;}---------------------------------------------------------------------------
 
;{----------------------Cпектроанализатор------------------------------------
CreateImage(0,width,height)
IncludeFile "bass.pbi"
 
Procedure UpdateSpectrum(*xx)        ; Функция для создания спектроанализатора
  Dim FFT.f(1024)
  Repeat
  BASS_ChannelGetData(Handle,@FFT(),#BASS_DATA_FFT2048)
For f=0 To column
 
   Val= Sqr(fft(f))  * 180            ;получение параметра по частотам
 
   StartDrawing(ImageOutput(0))
   Box(0,0,20,height,RGB(17, 17, 17))
   Box(0,height-Val,20,Val,color)        
 
;------------Поперечные линии-------------------
    a=height
  For d=0 To 15
    LineXY(0, a-8,  width, a-8,  RGB(0, 0, 0))
    a=a-8
  Next d
;-----------------------------------------------
   StopDrawing()
 
   SetGadgetState(300+f,ImageID(0))
Next f
Delay(50)
ForEver
EndProcedure
;}---------------------------------------------------------------------------
 
;{----Функция для создания потокового звука, получаемыми из сети Интернет----
Procedure Loadfile(url_1$)      
    BASS_StreamFree(Handle)        ; Закроем все существующие каналы воспроизведения и освободим системные ресурсы
    Handle=BASS_StreamCreateURL(url_1$, 0, 0, #Null, 0)    
    BASS_ChannelPlay(Handle,0)
EndProcedure
;}---------------------------------------------------------------------------
 
Enumeration
 #Window_0
 #Image_1
 #Image_2
 #Volume
EndEnumeration
 
CatchImage(#Image_1, ?Im,  ?ImEnd-?Im)
CatchImage(#Image_2, ?Im1, ?Im1End-?Im1)
 
;{----------------------Открыть MP3------------------------------------------
Procedure LoadMP3()
 BASS_StreamFree(Handle)
  FileName.s = OpenFileRequester("","","*.*|*.*",0)
  If FileName
    Handle=BASS_StreamCreateFile(0, @FileName, 0, 0, 0)
    BASS_SetVolume(100)
    BASS_ChannelPlay(Handle,0)  
  EndIf
EndProcedure
;}---------------------------------------------------------------------------
 
;{----------------------Основное окно----------------------------------------
 
OpenWindow(#Window_0, 0, 0, 410, 220, "Spectr", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_Invisible)
SetWindowColor(#Window_0, RGB(29, 26, 26))
 
 
For f=0 To column
  ImageGadget(300+f,x, y,0,0,ImageID(0))
  x=x+(width+h)
Next f
 
  ImageGadget(902,4,4,0,0,ImageID(99))
 
 
  TextGadget     (220, 387,186,30,15,"50")
  HyperLinkGadget(221,10, 160,70,15,"Открыть MP3",RGB(255,0,0))
  HyperLinkGadget(222,110,160,70,15,"Kiss FM",    RGB(255,0,0))
  HyperLinkGadget(223,180,160,70,15,"Makkirus",   RGB(255,0,0))
  HyperLinkGadget(224,260,160,70,15,"Радио 13",   RGB(255,0,0))
  HyperLinkGadget(225,330,160,70,15,"Luga Radio", RGB(255,0,0))
 
For h=220 To 225
  SetGadgetColor(h,#PB_Gadget_FrontColor,RGB(129,129,129))
  SetGadgetColor(h,#PB_Gadget_BackColor, RGB(29,  26, 26))
Next h
 
  ImageGadget(#Image_2, 0, 0, 0, 0, ImageID(#Image_1))
  ImageGadget(#Image_1, 0, 0, 0, 0, ImageID(#Image_2))
 
  SplitterGadget(#Volume, 8, 187, 370, 14, #Image_2,#Image_1,  #PB_Splitter_Vertical)
 
 
 
BASS_Init(-1, 44100, 0, WindowID(0), #Null)
BASS_SetVolume(0.5)
 
;}------------------------------------------------------------------------------
 
CreateThread(@UpdateSpectrum(),0)
 
HideWindow(#Window_0,0)
Repeat
Event= WaitWindowEvent()
Window=EventWindow()
Gadget=EventGadget()
 Select Event
  Case #PB_Event_Gadget
    Select EventGadget()
 
    Case 221
    LoadMP3()
    Case 222
    Loadfile("http://217.20.164.164:8000/kissfm.mp3")
    Case 223
    Loadfile("http://w02-sw01.akadostream.ru:8111/makkirus128.mp3")
    Case 224
    Loadfile("http://play.radio13.ru:8000/radio13-128-mp3")
    Case 225
    Loadfile("http://195.5.125.6:8000/")
    Case #Volume
     Val=GetGadgetState(#Volume)/3.66
     SetGadgetText(220,Str(Val))
     BASS_SetVolume(Val/100)
    EndSelect
 EndSelect
 
 
If Event=#PB_Event_CloseWindow
CloseWindow(Window)
EndIf
Until Event=#PB_Event_CloseWindow And Window=#Window_0
 
;{---------------------------загрузка изоброжений------------------------------
DataSection
 Im:
 IncludeBinary "ajy_13.png"
 ImEnd:
 Im1:
 IncludeBinary "ajy_12.png"
 Im1End:
EndDataSection
;}-----------------------------------------------------------------------------
 


Не забудь включить поддержку потоков!

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 152 ]  На страницу 1, 2, 3, 4, 5 ... 11  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB