Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 10.11.2014
Сообщений: 19
1

PureBasic: плеер swf-файлов

14.12.2014, 22:17. Просмотров 1281. Ответов 3
Метки нет (Все метки)


Установил Пюре_v5.3
Плеер из папки с примерами ...\Examples\Sources - Advanced\MoviePlayer\MoviePlayer.pb прекрасно работает со всеми мультимедиа-файлами, в том числе mp4, flv.
Возможно ли проиграть swf ролик из программы на пюре?
Буду благодарен за пример кода
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2014, 22:17
Ответы с готовыми решениями:

Кодирование файлов в текст для последующей передачи, реально ли это на PureBasic?
кодирование файлов в текст для последующей передачи, реально ли это на пуре?

Плеер с плейлистом для SWF файлов на сайт
Здравствуйте. Перешерстил весь NET в поисках плеера с галереей, которая поддерживает SWF-файлы!!!!...

Различие swf файлов
Здравствуйте. Я не знаю как свой вопрос правильно сформулировать. Но все же. Имеется 2 swf файла....

Конвертация файлов swf
Простой наивный вопрос, есть кучка видеоуроков по программированию, почему то они короткими файлами...

3
Модератор
6705 / 2703 / 518
Регистрация: 24.04.2011
Сообщений: 5,037
Записей в блоге: 10
15.12.2014, 08:05 2
Цитата Сообщение от SieOK Посмотреть сообщение
Возможно ли проиграть swf ролик
Можно делать через WebGadget или подключать компонент ShockwaveFlash

Используем WebGadget
PureBasic
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
Enumeration
  #Window_0
EndEnumeration
Enumeration
  #ScrA
  #List=333
  #open
  #oma
  #Ima
  #Web
  #hyp
  #hyp_2
EndEnumeration
 
Global Rep.s, put.s, Height, File.s, NbSongs
 
Structure PlayList ; список
  FileName.s
  GadgetID.l
EndStructure
Global NewList PlayList.PlayList(), Rep.s, put.s, xx
 
UsePNGImageDecoder()
UseJPEGImageDecoder()
 
xx=180 ; ширина картинки в миниатюре (= высоте )
 
Procedure IsMouseOver(wnd) ; Эта процедура определяет находится ли курсор мышки над заданым окном или гаджетом
 GetWindowRect_(wnd,re.RECT)
 GetCursorPos_(pt.POINT)
 Result.l = PtInRect_(@re, pt\x | (pt\y<<32) )
ProcedureReturn Result
EndProcedure
 
Procedure Direct()      ; сканирование папки
   NbSongs = 0     
       put=GetPathPart(Rep)
       ClearGadgetItems(#List)
            If ExamineDirectory(0, GetPathPart(Rep), "*.*")
              Repeat
                FileType = NextDirectoryEntry(0)
                If FileType
                  FileName.s = DirectoryEntryName(0)
                  If FileName.s <> "." And FileName.s <> ".."
                    Ext$ = LCase(Right(FileName.s,4))
                    If Ext$ = ".wav" Or Ext$ = ".jpg" Or Ext$ = ".jpg"
                        AddGadgetItem(#List, -1, FileName.s)
                        NbSongs = NbSongs + 1
                    EndIf
                  EndIf
                EndIf
              SetGadgetState(#List, SongPlaying ) 
              Until FileType = 0       
            EndIf                   
 EndProcedure
 
Procedure EventButton19(Event, Gadget, Type, ImageGadget)
If Event=#WM_MOUSEMOVE ; Переместилась мышка
  If IsMouseOver(GadgetID(#ScrA))>0 Or IsMouseOver(GadgetID(#ScrA))>0
    myCursor=LoadCursor_(0,#IDC_HAND)
   SetCursor_(myCursor) ; курсор рука
 Else
 EndIf
EndIf
EndProcedure
 
Procedure Spisok()
              ClearList(PlayList())
              Rep.s = "игры/"
              Direct()
              max   =CountGadgetItems(#List)
              kol=max/3
               Height=max/3*(xx+20)+20
               a=20
               g=20
               m=0
               jj=77
                For f=1 To kol
                  For n=1 To 3
                    FileName.s=GetGadgetItemText(#List, m )
                    File.s = put+FileName
                    LoadImage(m, File.s)
                    ResizeImage(m, xx, xx)     
 
                     AddElement(PlayList())     
                     PlayList()\GadgetID=ImageGadget(#PB_Any,a, g, xx,xx,ImageID(m))
                     PlayList()\FileName=FileName
                     TextGadget(#PB_Any,a,xx+g,xx,15,FileName.s,#PB_Text_Center)
                         
                    a=a+xx+20
                    m=m+1
                    jj=jj+1
                  Next
                    a=20
                    g=g+xx+20 
                Next
              CloseGadgetList()             
EndProcedure
 
Procedure Flash(FileName.s)
 
Buffer$=Space(512)
GetFullPathName_(FileName.s,Len(Buffer$),@Buffer$,@FilePart)
img$ = PeekS(@Buffer$)
 
Html.s
Html + "<style type='text/css'>"
Html + "body{padding:0px; margin:0px; background-color: #ffffff;}"
Html + ".con{position: relative;width:670px;height:600px;}"
Html + "</style>"
Html + "<center> <div class='con'>"
Html + "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='670' height='600'>"
Html + "<param name='movie' value='"+img$+"' /></object>"
Html + "</center> </div>"
 
SetGadgetItemText(#Web, #PB_Web_HtmlCode, Html)
EndProcedure
 
If OpenWindow(#Window_0,0,0,640,640, "Сборник флеш игр 240 шт", #PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
    WindowBounds(#Window_0, 640, 640,640,640)
    ButtonGadget  (#open,    20, 5,   80,  20,"Открыть")
    HyperLinkGadget(#hyp,400,10,160,15,"с помощью   http://save2go.ru/",RGB(1, 135, 254))
    HyperLinkGadget(#hyp_2,140,10,230,15,"Качаем c сайта    http://www.gameitnow.com/",RGB(1, 135, 254)) 
    ListViewGadget(#List,    -1000, 30,  170, 280)   
    ScrollAreaGadget(#ScrA,5,30,630,600, 610, 16020, 0, #PB_ScrollArea_Flat)
    Spisok()
;{---------Загрузка первой игры.-------------------------------------------
FileName$="игры/agent_platformer.swf"
Buffer$=Space(512)
GetFullPathName_(FileName$,Len(Buffer$),@Buffer$,@FilePart)
img$ = PeekS(@Buffer$)
 
Html.s
Html + "<style type='text/css'>"
Html + "body{padding:0px; margin:0px; background-color: #ffffff;}"
Html + ".con{position: relative;width:670px;height:600px;}"
Html + "</style>"
Html + "<center> <div class='con'>"
Html + "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='670' height='600'>"
Html + "<param name='movie' value='"+img$+"' /></object>"
Html + "</div></center> "
 
WebGadget(#Web,-1000,35,640,640,"")
 
While GetGadgetAttribute(#Web, #PB_Web_Busy) <> 0
  While WindowEvent() 
  Delay(0) 
  Wend
Wend
SetGadgetItemText(#Web, #PB_Web_HtmlCode, Html)
;}---------------------------------------------------------------------------
   
Repeat
 Event =  WaitWindowEvent()
 Window = EventWindow()
 Gadget = EventGadget()
   Select Event
     Case#PB_Event_SizeWindow   ; Изменяем размер браузера при изменении размеров окна
      ResizeGadget(#Web,#PB_Ignore,#PB_Ignore, WindowWidth(#Window_0)-0, WindowHeight(#Window_0)-0)
     Case  #PB_Event_CloseWindow
       End
     Case #WM_LBUTTONDBLCLK    ; обработка события на двойной клик
 
       If Gadget
         ForEach PlayList()
          If PlayList()\GadgetID=Gadget
             FileName.s=PlayList()\FileName.s
             ;SetWindowTitle(#Window_0, FileName.s)
            ;----------------------------------------
            SetWindowTitle(#Window_0, Left(FileName.s,Len(FileName.s)-4))
             If FileName.s<>""
              FileName.s= "игры/"+Left(FileName.s,Len(FileName.s)-4) + ".swf"
             EndIf
             Flash(FileName.s)         
             ResizeGadget(#ScrA,-1000,#PB_Ignore,#PB_Ignore,#PB_Ignore)
             ResizeGadget(#Web,0,#PB_Ignore,#PB_Ignore,#PB_Ignore)         
             WindowBounds(#Window_0, 670, 600,1680,1060)
             ResizeWindow(#Window_0,#PB_Ignore,#PB_Ignore,700,#PB_Ignore)
             min=1 
            ;----------------------------------------   
             Break
           EndIf
         Next
       EndIf
;---------------------------------------------------------------     
   Case #WM_RBUTTONUP   ;  нажата правая кнопка
     min = min ! 1
     If min=1
      ResizeGadget(#ScrA,-1000,#PB_Ignore,#PB_Ignore,#PB_Ignore)
      ResizeGadget(#Web,0,#PB_Ignore,#PB_Ignore,#PB_Ignore)
      WindowBounds(#Window_0, 670, 640,1680,1060)
      ResizeWindow(#Window_0,#PB_Ignore,#PB_Ignore,700,#PB_Ignore) 
     Else
      ResizeGadget(#ScrA,0,#PB_Ignore,#PB_Ignore,#PB_Ignore)
      ResizeGadget(#Web,-1000,#PB_Ignore,#PB_Ignore,#PB_Ignore)     
      WindowBounds(#Window_0, 640, 640,640,640)
      ResizeWindow(#Window_0,#PB_Ignore,#PB_Ignore,640,640)
     EndIf     
;---------------------------------------------------------------           
        Case  #PB_Event_Gadget
          Select EventGadget()
           Case #open
               FileName.s = OpenFileRequester("","","*.*|*.*",0)
               Flash(FileName.s)
               SetWindowTitle(#Window_0, FileName.s)
               ResizeGadget(#ScrA,-1000,#PB_Ignore,#PB_Ignore,#PB_Ignore)
               ResizeGadget(#Web,0,#PB_Ignore,#PB_Ignore,#PB_Ignore)           
               WindowBounds(#Window_0, 670, 640,1680,1060)
               ResizeWindow(#Window_0,#PB_Ignore,#PB_Ignore,700,#PB_Ignore)
               min=1
           Case #hyp
              RunProgram("http://save2go.ru/")
           Case #hyp_2
              RunProgram("http://www.gameitnow.com/")     
          EndSelect
      EndSelect
      EventButton19(Event, Gadget, Type, ImageGadget)
    ForEver
  EndIf
2
Вложения
Тип файла: zip FlashИгры.zip (742.8 Кб, 40 просмотров)
1 / 1 / 0
Регистрация: 10.11.2014
Сообщений: 19
01.01.2015, 14:39  [ТС] 3
"Можно делать через WebGadget или подключать компонент ShockwaveFlash"

Если не трудно, можно ли поподробнее
1 Где взять флеш-компонент (использовать стоящий в системе тот который юзает VB6 ~\Macromed\Flash\Flash.ocx ) или у пюре есть какой-то свой
2 Как подключить
3 Как использовать
0
Модератор
6705 / 2703 / 518
Регистрация: 24.04.2011
Сообщений: 5,037
Записей в блоге: 10
02.01.2015, 08:33 4
Цитата Сообщение от SieOK Посмотреть сообщение
или у пюре есть какой-то свой
Используется тот, что зарегистрирован в системе.
Вопросы подключения и использования отражены в примере в файле : FlashИгры.zip -> Flash_2.pb
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2015, 08:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Просмотр SWF файлов на Android
Загрузил на планшет видеофайл swf. Хотел его просмотреть, но вылезло сообщение: Невозможно открыть...

Внедрение в Builder файлов SWF
Подскажите пожалуйста!:umnik: Как внедрить в форму SWF файлы?:wall:

Порекомендуйте проигрыватель SWF файлов
а вот не подскажите мне надо SWF проигрыватель какой нить нормальный, а то в гугле ищу там все...

Компиляция файлов проекта в swf
Декомпилировал swf по частям с целью редактирования материала, теперь необходимо засунуть всё снова...

Подключение разных swf файлов в одно меню
У меня есть 4 swf файла которые я делал отдельно. Мне же надо что бы была возможнось запускать их...

Бесплатный софт для создания swf-файлов
Здравствуйте! Подскажите бесплатную программу для создания Flash.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.