PureBasic - форум

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

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


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Не работает TrackBarGadget в movie проигрывателе


Не работает TrackBarGadget в movie проигрывателе

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

1

Доброй ночи, не работает TrackBarGadget в movie проигрывателе:

Код:
If InitMovie() = 0
  MessageRequester("Error", "Can't initialize movie playback !", 0) 
  End
EndIf

MovieName$ = OpenFileRequester("Choose the movie to play", "", "Movie/Audio files|*.avi;*.mpg;*.asf;*.mp3;*.wav;*wmv|All Files|*.*", 0)
If MovieName$
  If LoadMovie(0, MovieName$)
    ResizeMovie(0, 10, 40, MovieWidth(0)-20, MovieHeight(0)-50)
    OpenWindow(0, 10, 10, MovieWidth(0),  MovieHeight(0), "Movie",#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget)
    ButtonGadget(1,10,5,30,30,">")
    ButtonGadget(2,50,5,30,30,"||")
    TrackBarGadget(3, 90, 5, WindowWidth(0)-150, 30, 0, 10000)
    PlayMovie(0, WindowID(0))

    Repeat
      WaitWindowEvent=WaitWindowEvent()
      If WaitWindowEvent=#PB_Event_Gadget
        If EventGadget()=1:ResumeMovie(0):EndIf
        If EventGadget()=2:PauseMovie(0):EndIf
      EndIf  
         If WindowWidth(0)<>WindowW Or WindowHeight(0)<>WindowH: ResizeMovie(0, 10, 40, WindowWidth(0)-20, WindowHeight(0)-50):EndIf
         WindowW=WindowWidth(0)
         WindowH=WindowHeight(0)
         SetGadgetState(3,MovieStatus(0)*(10000/MovieLength(0))) 
    Until WaitWindowEvent = #PB_Event_CloseWindow
  Else
    MessageRequester("Error", "Can't load the movie...", 0)
  EndIf
EndIf

Подскажите пожалуйста, что в коде не так?

0

2

MovieLength(0)=0
Возвращает длину видеоролика #Movie в кадрах, не работает с mp3 и т.п.
Делить на 0 нельзя.

0

3

Я не очень понял почему MovieLength(0)=0, ведь MovieLength(0) возвращает количество кадров в ролике, а при загруженном ролике такого не может быть.

0

4

Код:
If InitMovie() = 0
  MessageRequester("Error", "Can't initialize movie playback !", 0) 
  End
EndIf

MovieName$ = OpenFileRequester("Choose the movie to play", "", "Movie/Audio files|*.avi;*.mpg;*.asf;*.mp3;*.wav;*wmv|All Files|*.*", 0)
If MovieName$
  If LoadMovie(0, MovieName$)
    ResizeMovie(0, 10, 40, MovieWidth(0)-20, MovieHeight(0)-50)
    OpenWindow(0, 10, 10, MovieWidth(0),  MovieHeight(0), "Movie",#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget)
    ButtonGadget(1,10,5,30,30,">")
    ButtonGadget(2,50,5,30,30,"||")
    TrackBarGadget(3, 90, 5, WindowWidth(0)-150, 30, 1, 10000)
    PlayMovie(0, WindowID(0))
    MessageRequester("Сообщение","Число кадров должно быть равно ="+Str(MovieLength(0))+" Но когда пойдет просмотр фильма видно что их намного болдьше")
    Repeat
      WindowEvent=WindowEvent()
      If WindowEvent=#PB_Event_Gadget
        If EventGadget()=1:ResumeMovie(0):EndIf
        If EventGadget()=2:PauseMovie(0):EndIf
      EndIf  
         If WindowWidth(0)<>WindowW Or WindowHeight(0)<>WindowH: ResizeMovie(0, 10, 40, WindowWidth(0)-20, WindowHeight(0)-50):EndIf
         WindowW=WindowWidth(0)
         WindowH=WindowHeight(0)
         Debug MovieStatus(0)
    Until WindowEvent = #PB_Event_CloseWindow
  Else
    MessageRequester("Error", "Can't load the movie...", 0)
  EndIf
EndIf

Странно, (MovieLength(0) говорит сколько кадров, но при запуске видио выясняется что их намного больше

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Не работает TrackBarGadget в movie проигрывателе