Nesse vídeo demonstraremos a utilização da classe TMediaPlayer, que serve para abrir o Media Player em uma tela, e assim possibilitando abrir músicas ou vídeos.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe498
Abre o Windows Media Player em uma Dialog
@type Function
@author Atilio
@since 04/04/2023
@see https://tdn.totvs.com/display/tec/TMediaPlayer
@obs
O exemplo dessa dialog foi baseado no link acima disponível no TDN
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe498()
Local aArea := FWGetArea()
Local nCorFundo := RGB(238, 238, 238)
Local nJanAltura := 500
Local nJanLargur := 800
Local cJanTitulo := 'Exemplo TMediaPlayer'
Local lDimPixels := .T.
Local lCentraliz := .T.
Local nObjLinha := 0
Local nObjColun := 0
Local nObjLargu := 0
Local nObjAltur := 0
Local lShowBar := .F.
Local lIsMute := .F.
Local nVolume := 70
Private cFontNome := 'Tahoma'
Private oFontPadrao := TFont():New(cFontNome, , -12)
Private oMedia
Private oBtnOpen , bBtnOpen := {|| oMedia:OpenFile(FWInputBox("Escolha o arquivo", "C:\OBS\"))}
Private oBtnPlay , bBtnPlay := {|| oMedia:Play()}
Private oBtnPause , bBtnPause := {|| oMedia:Pause()}
Private oBtnStop , bBtnStop := {|| oMedia:Stop()}
Private oBtnSetVol, bBtnSetVol := {|| oMedia:SetVolume(Val(FWInputBox("Insira o volume (0 a 100)", cValToChar(oMedia:nVolume))))}
Private oBtnGetVol, bBtnGetVol := {|| FWAlertInfo("O volume está em " + cValToChar(oMedia:nVolume), "Teste TMediaPlayer")}
Private oBtnShoBar, bBtnShoBar := {|| lShowBar := !lShowBar, oMedia:SetShowBar(lShowBar)}
Private oBtnRepeat, bBtnRepeat := {|| oMedia:nPlayCount := (Val(FWInputBox("Defina o número de repetições", cValToChar(oMedia:nPlayCount))))}
Private oBtnMute , bBtnMute := {|| lIsMute := !lIsMute, oMedia:SetMute(lIsMute)}
//Cria a dialog
oDialogPvt := TDialog():New(0, 0, nJanAltura, nJanLargur, cJanTitulo, , , , , , nCorFundo, , , lDimPixels)
//Cria o Media Player
nObjLinha := 3
nObjColun := 3
nObjLargu := (nJanLargur/2) - 56
nObjAltur := (nJanAltura/2) - 3
oMedia := TMediaPlayer():New(nObjLinha, nObjColun, nObjLargu, nObjAltur, oDialogPvt,"C:\OBS\Vídeos Prontos\intro_free.mp4", nVolume, lShowBar)
//Cria os botões na direita
nObjLinha := 3
nObjColun := (nJanLargur/2) - 50
nObjLargu := 47
nObjAltur := 15
oBtnOpen := TButton():New(nObjLinha + ((nObjAltur + 3) * 0), nObjColun, "Abrir Arq.", oDialogPvt, bBtnOpen , nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnPlay := TButton():New(nObjLinha + ((nObjAltur + 3) * 1), nObjColun, "Play", oDialogPvt, bBtnPlay , nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnPause := TButton():New(nObjLinha + ((nObjAltur + 3) * 2), nObjColun, "Pausar", oDialogPvt, bBtnPause , nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnStop := TButton():New(nObjLinha + ((nObjAltur + 3) * 3), nObjColun, "Parar", oDialogPvt, bBtnStop , nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnSetVol := TButton():New(nObjLinha + ((nObjAltur + 3) * 4), nObjColun, "Def. Volume", oDialogPvt, bBtnSetVol, nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnGetVol := TButton():New(nObjLinha + ((nObjAltur + 3) * 5), nObjColun, "Ver Volume", oDialogPvt, bBtnGetVol, nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnShoBar := TButton():New(nObjLinha + ((nObjAltur + 3) * 6), nObjColun, "Mostr.Barra", oDialogPvt, bBtnShoBar, nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnRepeat := TButton():New(nObjLinha + ((nObjAltur + 3) * 7), nObjColun, "Repetir", oDialogPvt, bBtnRepeat, nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
oBtnMute := TButton():New(nObjLinha + ((nObjAltur + 3) * 8), nObjColun, "Mudo", oDialogPvt, bBtnMute , nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
//Ativa e exibe a janela
oDialogPvt:Activate(, , , lCentraliz)
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.