Belini Posted December 10, 2018 Posted December 10, 2018 Does anyone know if it is possible to open videos of different resolutions by filling the entire screen without getting the black stripe on the sides? UDF Video.au3 expandcollapse popup#include-once ; #CURRENT# =============================================================================================== ; _Video_Close ; _Video_Dimension ; _Video_FrameRate ; _Video_Length ; _Video_Mute ; _Video_Open ; _Video_Pause ; _Video_Play ; _Video_Resume ; _Video_Seek ; _Video_Status ; _Video_Step ; _Video_Stop ; _Video_TimePos ; _Video_Volume ; _RandomStr ; _MSToHMS ; _mciDeviceExists ; _mciListDevices ; _mciSendString ;========================================================================================================== ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Close ; Description....: Close a video. ; Syntax.........: _Video_Close($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and sets Alias name to "". ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to close video ; Author ........: smashly ; ========================================================================================================= Func _Video_Close(ByRef $sAlias) If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If _mciSendString("close " & $sAlias) = 0 Then $sAlias = "" Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Close ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Dimension ; Description....: Retrieves the Width and Height of the source video. ; Syntax.........: _Video_Dimension($sFile) ; Parameters ....: $sFile - The full path to video file. ; Return values .: Success - Returns an array. array[0] = Width, array[1] = Height ; Failure - Return 0 and @error 1~3 ; @error 1 = File doesn't exist. ; @error 2 = MCI failed to open the video file. ; @error 3 = MCI failed to get the source video dimensions. ; Author ........: smashly ; ========================================================================================================= Func _Video_Dimension($sFile) Local $iRet, $sVID, $aTmp If Not FileExists($sFile) Then Return SetError(1, 0, 0) $sVID = _RandomStr() $iRet = _mciSendString("open " & FileGetShortName($sFile) & " alias " & $sVID) If $iRet <> 0 Then Return SetError(2, 0, 0) $iRet = _mciSendString("where " & $sVID & " source", 255) If $iRet = "" Then _mciSendString("close " & $sVID) Return SetError(3, 0, 0) EndIf _mciSendString("close " & $sVID) $aTmp = StringSplit($iRet, Chr(32)) $aTmp[1] = $aTmp[$aTmp[0]] $aTmp[0] = $aTmp[$aTmp[0] - 1] ReDim $aTmp[2] Return $aTmp EndFunc ;==>_Video_Dimension ; #FUNCTION# ============================================================================================== ; Name...........: _Video_FrameRate ; Description....: Close a video. ; Syntax.........: _Video_FrameRate($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Returns the Frames Per Second of the video. ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; Author ........: smashly ; ========================================================================================================= Func _Video_FrameRate($sAlias) If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) Return _mciSendString("status " & $sAlias & " nominal frame rate", 255) / 1000 EndFunc ;==>_Video_FrameRate ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Length ; Description....: Get the time length of a video in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Syntax.........: _Video_Length($sAlias[, $iTime = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open ; $iTime - 0 Return time lenth in Hours, Minutes, Seconds (HH:MM:SS) ; - 1 Return time lenth in Milliseconds. ; Return values .: Success - Return time length in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; Author ........: smashly ; ========================================================================================================= Func _Video_Length($sAlias, $iTime = 0) Local $iMS If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) _mciSendString("set " & $sAlias & " time format ms") $iMS = _mciSendString("status " & $sAlias & " length", 255) If Not $iTime Then Return _MSToHMS($iMS) If $iTime Then Return $iMS EndFunc ;==>_Video_Length ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Mute ; Description....: Turn off/on the audio in a video. ; Syntax.........: _Video_Mute($sAlias[, $iMute = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iAudio - 0 = Audio On, 1 = Audio Off ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to turn the video audio off/on ; Author ........: smashly ; ========================================================================================================= Func _Video_Mute($sAlias, $iMute = 0) Local $iRet, $iAM = "on" If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If $iMute Then $iAM = "off" $iRet = _mciSendString("set " & $sAlias & " audio all " & $iAM) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Mute ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Open ; Description ...: Opens a Video file ready for use with other _Video_xxxx functions. ; Syntax.........: _Video_Open($sFile, $hWnd, $iX, $iY, $iW, $iH[, $sDevice = ""]) ; Parameters ....: $sFile - The full path to video file. ; $hWnd - Handle to a window or control that the video will be displayed on ; $iX - Left position of the video. ; $iY - Top position of the video. ; $iW - Width of the video. ; $iH - Height of the video. ; $sDevice - MCI Device type to play video with. (See Remarks for more info) ; Return values .: Success - Return an Alias name for use with other _Video_xxxx functions. ; Failure - Return an empty String "" and @error 1~5 ; @error 1 = File doesn't exist ; @error 2 = Window or Control handle not valid. ; @error 3 = Invalid MCI Device type specified. ; @error 4 = MCI failed to open video file ; @error 5 = MCI failed window for video. ; @error 5 = MCI failed to put video at the deignated location. ; Author ........: smashly ; Remarks .......: If your having trouble with avi playback (eg; playing fast, slow, choppy or no audio) ; or a video won't play but it plays fine in any other player ... ; Then set the $sDevice parameter to "MPEGVideo" ; If the $sDevice parameter is left blank then windows will decide which MCI Device type ; to use. ; Most current day avi/wmv/mp4 formats dont play properly or at all when windows selects ; the mci device type to use. ; Windows would default use "AVIVideo" MCI Device type to play avi with mci. ; When you specify "MPEGVideo" for an avi and mci fails it then uses the windows native ; chain of codecs that would be used by any other player not using mci ;) ; Because of this behaviour you can usually play almost any type of video that normally ; fails when using mci just by specifying "MPEGVideo" mci device type. ; For playing video on an autoit gui then be sure to add the $WS_CLIPCHILDREN style ; to your Gui. This will keep the Video dislpayed on your Gui all the time. ; ========================================================================================================= Func _Video_Open($sFile, $hWnd, $iX, $iY, $iH, $iW, $sDevice = "") Local $sVID, $gId, $iRet, $sDT = "" If Not FileExists($sFile) Then Return SetError(1, 0, "") If Not IsHWnd($hWnd) Then Return SetError(2, 0, "") If $sDevice <> "" Then If Not _mciDeviceExists($sDevice) Then Return SetError(3, 0, "") $sDT = " type " & $sDevice EndIf $gId = Dec(StringTrimLeft($hWnd, 2)) $sVID = _RandomStr() $iRet = _mciSendString("open " & FileGetShortName($sFile) & " alias " & $sVID & $sDT) If $iRet <> 0 Then Return SetError(4, 0, "") $iRet = _mciSendString("window " & $sVID & " handle " & $gId) If $iRet <> 0 Then _mciSendString("close " & $sVID) Return SetError(5, 0, "") EndIf $iRet = _mciSendString("put " & $sVID & " destination at " & $iX & " " & $iY & " " & $iH & " " & $iW) If $iRet <> 0 Then _mciSendString("close " & $sVID) Return SetError(6, 0, "") EndIf Return SetError(0, 0, $sVID) EndFunc ;==>_Video_Open ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Pause ; Description....: Pause a Video at the current playing position. ; Syntax.........: _Video_Pause($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = Failed to pause video. ; Author ........: smashly ; ========================================================================================================= Func _Video_Pause($sAlias) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) $iRet = _mciSendString("pause " & $sAlias) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Pause ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Play ; Description....: Plays a Video from the current position. ; Syntax.........: _Video_Play($sAlias[, $iMode = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iMode - 0 play video on the window or control as specified in _Video_Open ; - 1 play video in Fullscreen mode. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to play video. ; Author ........: smashly ; ========================================================================================================= Func _Video_Play($sAlias, $iMode = 0) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If _Video_TimePos($sAlias, 1) = _Video_Length($sAlias, 1) Then _Video_Seek($sAlias, "start") If $iMode Then $vRet = _mciSendString("play " & $sAlias & " fullscreen") Else $iRet = _mciSendString("play " & $sAlias) EndIf If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(1, 0, 0) EndIf EndFunc ;==>_Video_Play ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Resume ; Description....: Resume playing a video after pausing. ; Syntax.........: _Video_Resume($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to resume video. ; Author ........: smashly ; ========================================================================================================= Func _Video_Resume($sAlias) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) $iRet = _mciSendString("resume " & $sAlias) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Resume ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Seek ; Description....: Seek a video to the specified time position. ; Syntax.........: _Video_Seek($sAlias, $iTime) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iTime - Time to Seek. Can be Millisecons or HH:MM:SS or "start" or "end" ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~3 ; @error 1 = Invalid Alias ; @error 2 = Invalid time format. ; @error 3 = MCI Seek error ; Author ........: smashly ; ========================================================================================================= Func _Video_Seek($sAlias, $iTime) Local $iMS, $aTime, $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If StringInStr($iTime, ":") Then $aTime = StringSplit($iTime, ":") If $aTime[0] <> 3 Then Return SetError(2, 0, 0) $iMS = 1000 * ((3600 * $aTime[1]) + (60 * $aTime[2]) + $aTime[3]) ElseIf StringIsInt($iTime) Or $iTime = "start" Or $iTime = "end" Then $iMS = $iTime Else Return SetError(2, 0, 0) EndIf _mciSendString("set " & $sAlias & " time format ms") $iRet = _mciSendString("seek " & $sAlias & " to " & $iMS) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(3, 0, 0) EndIf EndFunc ;==>_Video_Seek ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Status ; Description....: Get a status status message from a video device. ; Syntax.........: _Video_Status($sAlias[, $sQuery = "mode"]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open ; $sQuery - What to get the status of: ; "audio" - returns the "on" or "off" ; "mode" - returns "paused", "playing" and "stopped" ; Return values .: Success - Returns a Status message from the video device. ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; @error 2 = Invalid query (To be implemented) ; Author ........: smashly ; ========================================================================================================= Func _Video_Status($sAlias, $sQuery = "mode") If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) ;; error check for the $sQuery goes here Return _mciSendString("status " & $sAlias & " " & $sQuery, 255) EndFunc ;==>_Video_Status ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Step ; Description....: Step a video forwards or backwards by a number of frames. ; Syntax.........: _Video_Step($sAlias, $iFrames) ; Parameters ....: $sAlias - Alias name returned by _Video_Open ; $iFrames - The number of frames to step, use negative numbers to step backwards. ; Return values .: Success - Returns 1 and @error 0 ; Failure - Return 0 and @error 1~3 ; @error 1 = Invalid Alias ; @error 2 = Invalid frames ; @error 3 = MCI Step error ; Author ........: smashly ; ========================================================================================================= Func _Video_Step($sAlias, $iFrames) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If StringRegExp(StringReplace($iFrames, "-", ""), '\D', 0) Then Return SetError(2, 0, 0) $iRet = _mciSendString("step " & $sAlias & " by " & $iFrames) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(3, 0, 0) EndIf EndFunc ;==>_Video_Step ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Stop ; Description....: Stop a Video playing. (seeks video to start) ; Syntax.........: _Video_Stop($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = Failed to stop or seek ; Author ........: smashly ;========================================================================================================== Func _Video_Stop($sAlias) Local $iRet, $iRet2 If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) $iRet = _Video_Seek($sAlias, "start") $iRet2 = _mciSendString("stop " & $sAlias) If $iRet = 0 And $iRet2 = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Stop ; #FUNCTION# ============================================================================================== ; Name...........: _Video_TimePos ; Description....: Get the time poition of a video in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Syntax.........: _Video_TimePos($sAlias[, $iTime = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iTime - 0 Return time lenth in Hours, Minutes, Seconds (HH:MM:SS) ; - 1 Return time lenth in Milliseconds. ; Return values .: Success - Return time position in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; Author ........: smashly ; ========================================================================================================= Func _Video_TimePos($sAlias, $iTime = 0) Local $iMS If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) _mciSendString("set " & $sAlias & " time format ms") $iMS = _mciSendString("status " & $sAlias & " position", 255) If Not $iTime Then Return _MSToHMS($iMS) If $iTime Then Return $iMS EndFunc ;==>_Video_TimePos ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Volume ; Description....: Turn the video audio volume up or down. ; Syntax.........: _Video_AudioVolume($sAlias[, $iVolume = 100]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iVolume - 0 = Min, 100 = Max ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = Invalid Volume ; @error 3 = MCI failed to set volume ; Author ........: smashly ; ========================================================================================================= Func _Video_Volume($sAlias, $iVolume = 100) Local $iRet, $iVol If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If StringRegExp($iVolume, '\D', 0) Then Return SetError(2, 0, 0) If $iVolume >= 100 Then $iVol = 1000 ElseIf $iVolume <= 0 Then $iVol = 0 ElseIf $iVolume > 0 And $iVolume < 100 Then $iVol = $iVolume * 10 EndIf $iRet = _mciSendString("setaudio " & $sAlias & " volume to " & $iVol) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(3, 0, 0) EndIf EndFunc ;==>_Video_Volume ;========================================================================================================== ; Internal use functions beyond this point ;========================================================================================================== ; #FUNCTION# ============================================================================================== ; Name...........: _MSToHMS ; Description....: Converts Milliseconds to Hours, Minutes, Seconds ; Syntax.........: _MSToHMS($iMS) ; Parameters ....: $iMS - Milliseconds to convert ; Return values .: Success - Returns Hours, Minutes, Seconds (HH:MM:SS) ; Author ........: smashly ; ========================================================================================================= Func _MSToHMS($iMS) Local $iHours = 0, $iMins = 0, $iSecs = 0 If Number($iMS) > 0 Then $iMS = Round($iMS / 1000) $iHours = Int($iMS / 3600) $iTicks = Mod($iMS, 3600) $iMins = Int($iMS / 60) $iSecs = Round(Mod($iMS, 60)) Return StringFormat("%02i:%02i:%02i", $iHours, $iMins, $iSecs) EndIf Return StringFormat("%02i:%02i:%02i", $iHours, $iMins, $iSecs) EndFunc ;==>_MSToHMS ; #FUNCTION# ============================================================================================== ; Name...........: _RandomStr ; Description....: Creates a random string ; Syntax.........: _RandomStr([$iLen = 10]) ; Parameters ....: $iLen - Length of string to return ; Return values .: Success - Returns a string of random letters (a~z) ; Author ........: RazerM ; ========================================================================================================= Func _RandomStr($iLen = 10) Local $sTmp = '' For $i = 1 To $iLen $sTmp &= Chr(Random(97, 122, 1)) Next Return $sTmp EndFunc ;==>_RandomStr ; #FUNCTION# ============================================================================================== ; Name...........: _mciDeviceExists ; Description....: Check if a MCI Device type exists ; Syntax.........: _mciDeviceExists($sDevice) ; Parameters ....: $sDevice - Name of MCI Device type to check for ; Return values .: Success - Return 1 if MCI Device type exists and @error 0 ; Failure - Return 0 if MCI Device type does not exist and @error 1~2 ; @error 1 = No matching MCI Device type found. ; @error 2 = Failed to list any MCI Device types ; Author ........: smashly ; ========================================================================================================= Func _mciDeviceExists($sDevice) Local $aDT = _mciListDevices() If @error Then Return SetError(2, 0, 0) For $idx = 1 To $aDT[0] If $sDevice = $aDT[$idx] Then Return SetError(0, 0, 1) Next Return SetError(1, 0, 0) EndFunc ;==>_mciDeviceExists ; #FUNCTION# ============================================================================================== ; Name...........: _mciListDevices ; Description....: List all found MCI Device types in an array ; Syntax.........: _mciListDevices() ; Parameters ....: None ; Return values .: Success - Return 1D array of found MCI Device types and @error 0 ; array[0] Number of MCI Device types found ; array[n] MCI Device type name ; Failure - Return empty 1D array and @error 1 ; Author ........: smashly ; ========================================================================================================= Func _mciListDevices() Local $iMD, $sTmp $iMD = _mciSendString("sysinfo all quantity", 255) If StringIsInt($iMD) Then For $idx = 1 To $iMD $sTmp &= _mciSendString("sysinfo all name " & $idx, 255) & Chr(0) Next Return SetError(0, 0, StringSplit(StringTrimRight($sTmp, 1), Chr(0))) EndIf Return SetError(1, 0, StringSplit($sTmp, Chr(0))) EndFunc ;==>_mciListDevices ; #FUNCTION# ============================================================================================== ; Name...........: _mciSendString ; Description....: ; Syntax.........: _mciSendString($string[, $iLen = 0]) ; Parameters ....: $string ; $iLen ; Return values .: ; Author ........: RazerM ; ========================================================================================================= Func _mciSendString($string, $iLen = 0) Local $iRet $iRet = DllCall("winmm.dll", "int", "mciSendStringA", "str", $string, "str", "", "long", $iLen, "long", 0) If Not @error Then Return $iRet[2] EndFunc ;==>_mciSendString  My Codes:  Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102  2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ  Â
mLipok Posted December 11, 2018 Posted December 11, 2018 (edited) From where you get this udf ? Please post link.  Edited December 11, 2018 by mLipok Signature beginning:* Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *  My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors  * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"  , be   and    \\//_. Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
Skeletor Posted December 11, 2018 Posted December 11, 2018 I assume this is now obsolete as mentioned by smashly play-video-on-whatever-you-want Kind RegardsSkeletor "Coffee: my defense against going postal." Microsoft Office Splash Screen | Basic Notepad Program (Beginner) | Transparent Splash Screen | Full Screen UI
Belini Posted December 12, 2018 Author Posted December 12, 2018 @mLipok, I picked up some topic that posted on the forum and I do not remember which one it was @Skeletor I believe this was the original topic that the UDF was posted and although obsolete is the best UDF to play video in my opinion, to be perfect I just needed to play video on the whole screen without the black borders on the sides. Video 1024 x 768 with screen resolution 1280 x720 Spoiler  I wanted it to occupy the whole screen like this: Spoiler    My Codes:  Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102  2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ  Â
Belini Posted December 13, 2018 Author Posted December 13, 2018 I think using "winmm.dll" I will not be able to open the video taking up the entire screen, does anyone know of another video UDF that does this? My Codes: Â Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102 Â 2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ Â Â
Belini Posted December 15, 2018 Author Posted December 15, 2018 Does anyone know of another UDF that opens videos on the whole screen without black stripe on the sides? My Codes: Â Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102 Â 2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ Â Â
Belini Posted December 20, 2018 Author Posted December 20, 2018 No tip  Do not have any UDFs that do what I want? My Codes:  Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102  2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ  Â
user4157124 Posted December 20, 2018 Posted December 20, 2018 Full screen 1024x768 video on a 1680x1050 resolution requires scaling. But because of different width x height ratio (4:3 vs 16:10), enlarged to fill one dimension will have the other over- or undersized (hence a cropped- or black bars containing image). _Video_Open() accepts position and dimension parameters; bars may be removed by cropping or non-cubic scaling (stretching). Bars may be part of a video file itself if for example a 1024x768 video was saved to a 1024x1050 container (scaling requires *visible* image's dimensions in that case). AUERLO (AutoIt error logger)
Belini Posted December 20, 2018 Author Posted December 20, 2018 6 minutes ago, user4157124 said: bars may be removed by cropping or non-cubic scaling (stretching) How do you do this? Can you do it using this UDF? My Codes: Â Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102 Â 2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ Â Â
user4157124 Posted December 20, 2018 Posted December 20, 2018 Untested (haven't downloaded the UDF) but should be close enough (simply recalculates resolution to scale): #include "Video.au3" Global Enum $VIDEO_DIM_X, _ $VIDEO_DIM_Y, _ $VIDEO_DIM__ENUM Global Const $g_sPathFileVideo = 'C:\videofile.avi' Global $g_hWnd _Video_Open_FullscreenCropped() ;_Video_Open_FullscreenStretched() Func _Video_Open_FullscreenCropped() Local Const $aDimWnd = [@DesktopWidth, @DesktopHeight], _ $aDimVid = _Video_Dimension($g_sPathFileVideo) Local Const $iDimMin = $aDimVid[$VIDEO_DIM_X] < $aDimVid[$VIDEO_DIM_Y] ? $VIDEO_DIM_X : $VIDEO_DIM_Y, _ $iScale = $aDimWnd[$iDimMin] / $aDimVid[$iDimMin] Local Const $aDimRes = [$aDimVid[$VIDEO_DIM_X] * $iScale, $aDimVid[$VIDEO_DIM_Y] * $iScale] _Video_Open($g_sPathFileVideo, $g_hWnd, 0, 0, $aDimRes[$VIDEO_DIM_Y], $aDimRes[$VIDEO_DIM_X]) EndFunc Func _Video_Open_FullscreenStretched() Local Const $aDimWnd = [@DesktopWidth, @DesktopHeight], _ $aDimVid = _Video_Dimension($g_sPathFileVideo) Local Const $iDimMax = $aDimVid[$VIDEO_DIM_X] > $aDimVid[$VIDEO_DIM_Y] ? $VIDEO_DIM_X : $VIDEO_DIM_Y, _ $iScale = $aDimWnd[$iDimMax] / $aDimVid[$iDimMax], _ $iDimOff = $iDimMax = $VIDEO_DIM_X ? $VIDEO_DIM_Y : $VIDEO_DIM_X Local $aDimRes = [$aDimVid[$VIDEO_DIM_X] * $iScale, $aDimVid[$VIDEO_DIM_Y] * $iScale] $aDimRes[$iDimOff] = $aDimWnd[$iDimOff] _Video_Open($g_sPathFileVideo, $g_hWnd, 0, 0, $aDimRes[$VIDEO_DIM_Y], $aDimRes[$VIDEO_DIM_X]) EndFunc  AUERLO (AutoIt error logger)
Belini Posted December 21, 2018 Author Posted December 21, 2018 (edited) @user4157124 _Video_Dimension() did not work for me, I changed to another function but I could not complete your code. Files I used in the test:Â https://mega.nz/#!4V9DVABL!4r_pB47Eh37Ehrt2dQVSBjSubmKgq4xCCXtVZIK2YQA Edited December 21, 2018 by Belini My Codes: Â Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102 Â 2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ Â Â
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now