Platforms to show: All Mac Windows Linux Cross-Platform
Required plugins for this example: MBS Win Plugin, MBS Audio Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Audio/WindowsMCI/movieplayer
This example is the version from Sun, 17th Mar 2012.
Project "movieplayer.xojo_binary_project"
FileTypes
Filetype video/avi
Filetype video/flc
Filetype video/mpeg
Filetype video/msvideo
Filetype video/quicktime
Filetype video/x-dv
Filetype video/x-mpeg
Filetype video/x-msvideo
Filetype audio/aiff
Filetype audio/basic
Filetype audio/midi
Filetype audio/mp3
Filetype audio/mpeg
Filetype audio/wav
End FileTypes
MenuBar Menu
MenuItem UntitledMenu9 = ""
MenuItem UntitledMenu8 = "File"
MenuItem FileOpen = "Open..."
MenuItem FileQuit = "Quit"
MenuItem UntitledMenu6 = "Edit"
MenuItem EditUndo = "Undo"
MenuItem UntitledMenu7 = "-"
MenuItem EditCut = "Cut"
MenuItem EditCopy = "Copy"
MenuItem EditPaste = "Paste"
MenuItem EditClear = "Clear"
MenuItem UntitledMenu4 = "Movie"
MenuItem MoviePlay = "Play"
MenuItem MovieStop = "Stop"
MenuItem MoviePause = "Pause"
MenuItem MovieResume = "Resume"
MenuItem UntitledMenu5 = "-"
MenuItem MovieSpeed50 = "Speed 50%"
MenuItem MovieSpeed100 = "Speed 100%"
MenuItem MovieSpeed200 = "Speed 200%"
MenuItem UntitledMenu3 = "Window"
MenuItem WindowHide = "Hide"
MenuItem WindowShow = "Show"
MenuItem UntitledMenu1 = "Sound"
MenuItem SoundLeftoff = "Left off"
MenuItem SoundLefton = "Left on"
MenuItem SoundRighton = "Right on"
MenuItem SoundRightoff = "Right off"
MenuItem Soundon = "on"
MenuItem Soundoff = "off"
MenuItem UntitledMenu2 = "-"
MenuItem SoundVolume100 = "Volume 100%"
MenuItem SoundVolume50 = "Volume 50%"
MenuItem UntitledMenu0 = "Video"
MenuItem Videoon = "on"
MenuItem Videooff = "off"
End MenuBar
Class App Inherits Application
EventHandler Sub EnableMenuItems()
fileopen.enable
moviePlay.enable
moviestop.enable
moviepause.enable
movieresume.enable
moviespeed100.enable
moviespeed200.enable
moviespeed50.enable
soundLeftoff.enable
soundLefton.enable
soundoff.enable
soundon.enable
soundRightoff.enable
soundRighton.enable
soundvolume100.enable
soundvolume50.enable
videoon.enable
videooff.enable
windowHide.enable
windowShow.enable
End EventHandler
EventHandler Sub Open()
v=new WindowsMCIMBS
End EventHandler
EventHandler Sub OpenDocument(item As FolderItem)
openmovie item
End EventHandler
Function FileOpen() As Boolean
openfile
return true
End Function
Function MoviePause() As Boolean
v.command="pause mymovie"
v.run
checkerror
return true
End Function
Function MoviePlay() As Boolean
v.command="play mymovie"
v.run
checkerror
return true
End Function
Function MovieResume() As Boolean
v.command="resume mymovie"
v.run
checkerror
return true
End Function
Function MovieSpeed100() As Boolean
v.command="set mymovie speed 1000"
v.run
checkerror
return true
End Function
Function MovieSpeed200() As Boolean
v.command="set mymovie speed 2000"
v.run
checkerror
return true
End Function
Function MovieSpeed50() As Boolean
v.command="set mymovie speed 500"
v.run
checkerror
return true
End Function
Function MovieStop() As Boolean
v.command="stop mymovie"
v.run
checkerror
return true
End Function
Function SoundLeftoff() As Boolean
v.command="set mymovie audio left off"
v.run
checkerror
return true
End Function
Function SoundLefton() As Boolean
v.command="set mymovie audio left on"
v.run
checkerror
return true
End Function
Function SoundRightoff() As Boolean
v.command="set mymovie audio right off"
v.run
checkerror
return true
End Function
Function SoundRighton() As Boolean
v.command="set mymovie audio right on"
v.run
checkerror
return true
End Function
Function SoundVolume100() As Boolean
v.command="setaudio mymovie volume to 1000"
v.run
checkerror
return true
End Function
Function SoundVolume50() As Boolean
v.command="setaudio mymovie volume to 500"
v.run
checkerror
return true
End Function
Function Soundoff() As Boolean
v.command="set mymovie audio all off"
v.run
checkerror
return true
End Function
Function Soundon() As Boolean
v.command="set mymovie audio all on"
v.run
checkerror
return true
End Function
Function Videooff() As Boolean
v.command="setvideo mymovie off"
v.run
checkerror
return true
End Function
Function Videoon() As Boolean
v.command="setvideo mymovie on"
v.run
checkerror
return true
End Function
Function WindowHide() As Boolean
v.command="window mymovie state hide"
v.run
return true
End Function
Function WindowShow() As Boolean
v.command="window mymovie state show"
v.run
return true
End Function
Sub checkerror()
window1.lastError.text=str(v.errorcode)+", "+v.errorstring
End Sub
Sub openfile()
// open a movie file and set time format to Track:Minute:Second:Frame
dim f as folderItem
const videotypes="video/avi;video/flc;video/mpeg;video/msvideo;video/quicktime;video/x-dv;video/x-mpeg;video/x-msvideo"
const audiotypes="audio/aiff;audio/basic;audio/midi;audio/mp3;audio/mpeg;audio/wav"
f=getopenFolderItem(videotypes+";"+audiotypes)
if f<>nil then
openmovie f
else
quit
end if
End Sub
Sub openmovie(f as folderItem)
// we may still have an open movie
v.command="close mymovie"
v.run
// open the new one
v.Command="open "+f.ShortPathMBS+" type mpegvideo parent "+format(window1.WinHWND,"0")+" alias mymovie"
v.run
if v.errorcode=0 then
v.command="window mymovie state show" // show the window
v.run
end if
checkerror
End Sub
Property v As windowsMCIMBS
End Class
Class Window1 Inherits Window
Control LastError Inherits Label
ControlInstance LastError Inherits Label
End Control
End Class
End Project
The items on this page are in the following plugins: MBS Audio Plugin.