📄 fmovieplayer.class
字号:
' Gambas class filePRIVATE $hProcess AS ProcessPRIVATE $bQuit AS BooleanPRIVATE $sPath AS StringPRIVATE $bShow AS BooleanPUBLIC SUB Form_Resize() lblMoviePlayer.Move(8, 8, ME.ClientW - 16, ME.ClientH - panButton.H - 8) panButton.Move(0, ME.CLientH - panButton.H, ME.CLientW) txtAbout.Move(16, 16, lblMoviePlayer.W - 16, lblMoviePlayer.H - 16)ENDPUBLIC SUB btnPlay_Click() IF $hProcess THEN PRINT #$hProcess, " "; btnPlay.Enabled = FALSE btnPause.Enabled = TRUE 'PRINT "CONTINUE" RETURN ENDIF txtAbout.Visible = FALSE WITH lblMoviePlayer Form_Resize .Show .Enabled = FALSE ' '.Mouse = Mouse.Default ' Form_Resize ' '.Enabled = FALSE END WITH $bShow = TRUE EXEC [ "mplayer", "-wid", lblMoviePlayer.Handle, Conv$($sPath, Desktop.Charset, System.Charset) ] FOR READ WRITE AS $hProcess btnStop.Enabled = TRUE btnPlay.Enabled = FALSE btnPause.Enabled = TRUE lblMoviePlayer.Hide timShow.Enabled = TRUEENDPUBLIC SUB btnPause_Click() IF NOT $hProcess THEN RETURN PRINT #$hProcess, " "; '$hProcess.Send(" ") '("pause\n") btnPlay.Enabled = TRUE btnPause.Enabled = FALSE 'PRINT "PAUSE"ENDPUBLIC SUB btnStop_Click() IF NOT $hProcess THEN RETURN IF $bQuit THEN $hProcess.Kill ELSE PRINT #$hProcess, "q"; $bQuit = TRUE ENDIFENDPUBLIC SUB Process_Read() DIM sData AS String READ #LAST, sData, -255 ENDPUBLIC SUB Process_Kill() 'PRINT "KILL" $hProcess = NULL timShow.Enabled = FALSE $bQuit = FALSE $bShow = FALSE btnPause.Enabled = FALSE btnPlay.Enabled = TRUE btnStop.Enabled = FALSE lblMoviePlayer.Hide txtAbout.Show 'PRINT "STOP"ENDPRIVATE SUB StopMovie() IF NOT $hProcess THEN RETURN $hProcess.Kill WHILE $hProcess WAIT WENDENDPUBLIC SUB Form_Close() StopMovie ENDPUBLIC SUB btnOpen_Click() Dialog.Path = $sPath IF Dialog.OpenFile() THEN RETURN $sPath = Dialog.Path StopMovie btnPlay.Enabled = TRUE btnPlay_Click ENDPUBLIC SUB Form_Open() PRINT "Wid = "; Hex$(lblMoviePlayer.id)ENDPUBLIC SUB Button1_Click() WITH lblMoviePlayer PRINT .X; " "; .Y; " "; .W; " "; .H; " "; .Visible; " "; .Parent.Handle END WITHENDPUBLIC SUB timShow_Timer() lblMoviePlayer.Resize(1, 1) lblMoviePlayer.Show FORM_Resize timShow.Enabled = FALSEEND
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -