Platforms to show: All Mac Windows Linux Cross-Platform

/WinFrameworks/MFPMediaPlayer


Required plugins for this example: MBS WinFrameworks Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /WinFrameworks/MFPMediaPlayer

This example is the version from Thu, 25th Dec 2019.

Project "MFPMediaPlayer.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
EventHandler Sub NewDocument() dim f as FolderItem #if DebugBuild then f = SpecialFolder.Desktop.Child("test.mov") #endif if f = nil or not f.Exists then f = GetOpenFolderitem("") end if if f <> nil then OpenDocument f end if End EventHandler
EventHandler Sub Open() End EventHandler
EventHandler Sub OpenDocument(item As FolderItem) dim w as new PlayerWindow dim m as new MyMFPMediaPlayerMBS(item.URLPath, true, w.output) w.MediaPlayer = m Exception re as MFPMediaPlayerExceptionMBS if w <> nil then w.close end if End EventHandler
EventHandler Function UnhandledException(error As RuntimeException) As Boolean MsgBox Introspection.GetType(error).name+EndOfLine+EndOfLine+Hex(error.ErrorNumber)+" "+error.Message return true End EventHandler
End Class
Class PlayerWindow Inherits Window
Control Output Inherits Canvas
ControlInstance Output Inherits Canvas
End Control
Control Timer1 Inherits Timer
ControlInstance Timer1 Inherits Timer
EventHandler Sub Action() if MediaPlayer <> nil then if MediaPlayer.State >= MediaPlayer.StateStopped then info.Text = str(MediaPlayer.Position, "0.00")+" of "+str(MediaPlayer.Duration, "0.00") return end if end if info.Text = "" Exception r as MFPMediaPlayerExceptionMBS // ignore if player not ready yet End EventHandler
End Control
Control Info Inherits Label
ControlInstance Info Inherits Label
End Control
Control PauseButton Inherits BevelButton
ControlInstance PauseButton Inherits BevelButton
EventHandler Sub Action() MediaPlayer.Pause End EventHandler
End Control
Control PlayButton Inherits BevelButton
ControlInstance PlayButton Inherits BevelButton
EventHandler Sub Action() MediaPlayer.Play End EventHandler
End Control
EventHandler Sub Resized() #Pragma BreakOnExceptions false if mediaplayer <> nil then MediaPlayer.UpdateVideo end if Exception r as MFPMediaPlayerExceptionMBS // ignore? End EventHandler
EventHandler Sub Resizing() #Pragma BreakOnExceptions false if mediaplayer <> nil then MediaPlayer.UpdateVideo end if Exception r as MFPMediaPlayerExceptionMBS // ignore? End EventHandler
Property MediaPlayer As MFPMediaPlayerMBS
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
Class MyMFPMediaPlayerMBS Inherits MFPMediaPlayerMBS
EventHandler Sub Ended() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub Error() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub FrameStepped() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub MediaItemCleared() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub MediaItemCreated(MediaItem as MFPMediaItemMBS, Tag as variant) System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub MediaItemSet() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub Paused() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub PositionSet() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub RateSet(rate as Single) System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub Started() System.DebugLog CurrentMethodName End EventHandler
EventHandler Sub Stopped() System.DebugLog CurrentMethodName End EventHandler
End Class
End Project

The items on this page are in the following plugins: MBS WinFrameworks Plugin.


The biggest plugin in space...