{"id":1278,"date":"2015-09-07T16:46:19","date_gmt":"2015-09-07T20:46:19","guid":{"rendered":"http:\/\/linguagemprisma.net\/blog\/?page_id=1278"},"modified":"2017-02-27T19:16:05","modified_gmt":"2017-02-27T23:16:05","slug":"igvlc-biblioteca-audio-e-video-basica","status":"publish","type":"page","link":"https:\/\/linguagemprisma.br4.biz\/blog\/igvlc-biblioteca-audio-e-video-basica\/","title":{"rendered":"igVlc &#8211; biblioteca \u00e1udio e v\u00eddeo para Linguagem Prisma"},"content":{"rendered":"<p><a href=\"http:\/\/linguagemprisma.br4.biz\/ccount\/click.php?id=igvlc\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-835\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/05\/botao_download.png\" alt=\"botao_download\" width=\"158\" height=\"47\" \/><\/a><\/p>\n<p>**Para funcionar corretamente baixe a atualiza\u00e7\u00e3o Prisma do dia 27\/02\/2017 ou superior.**<\/p>\n<p>Atualizado &#8211; 27\/02\/2017<\/p>\n<p>Agora ficou mais f\u00e1cil embutir o player no igbr com um comando de alto n\u00edvel, veja:<\/p>\n<pre class=\"lang:prisma decode:true\">local ig = inclua'igbr'\r\nlocal vlc = inclua 'vlc'\r\n\r\njan = ig.janela(\"Teste vlc\", 700,500);\r\n\r\nig.conecte_permutado(jan,ig.destruido, executestring,'ig.fimjanela()');\r\n\r\nfixo = ig.fixo();\r\nig.ad(jan,fixo);\r\nobj = vlc.crie();\r\nvideo = vlc.player(jan, obj);\r\nig.componente_def_tamanho(video.area,300 , 200 );\r\nig.fixo_ad(fixo,video.caixa,40 , 100 );\r\n\r\nig.componente_mostre_todos(jan);\r\nig.loop();\r\n<\/pre>\n<p>Detalhes:<\/p>\n<pre class=\"lang:prisma decode:true\">obj = vlc.crie();\r\nvideo = vlc.player(jan, obj);<\/pre>\n<p>Criamos o objeto vlc, depois criamos o player completo passando a janela como primeiro par\u00e2metro e o objeto como segundo. Se quiser deixe nulo no lugar da janela. O retorno \u00e9 uma tabela que cont\u00e9m:<\/p>\n<ul>\n<li>video.area = \u00e1rea do v\u00eddeo<\/li>\n<li>video.midia_player = objeto m\u00eddia do vlc.<\/li>\n<li>video.caixa_botao = a caixa de bot\u00e3o onde est\u00e3o o bot\u00e3o play e pare, se voc\u00ea quiser colocar mais bot\u00f5es.<\/li>\n<li>video.bt_parar = bot\u00e3o parar, caso queira modific\u00e1-lo.<\/li>\n<li>video.bt_tocar = bot\u00e3o de play.<\/li>\n<li>video.barramenu = \u00e9 a barra de menu caso queira colocar mais menu.<\/li>\n<li>video.caixa = caixa vertical onde est\u00e3o os menus, \u00e1rea de v\u00eddeo e caixa de bot\u00f5es, caso queira colocar mais componentes.<\/li>\n<li>video.menu_arquivo = menu principal &#8216;Arquivo&#8217;;<\/li>\n<li>video.menu_item_abrir = item abrir do menu &#8216;Arquivo&#8217;.<\/li>\n<\/ul>\n<p>Caso n\u00e3o queira que esses componentes sejam criados basta passar falso no terceiro para menu e no quarto para os bot\u00f5es:<\/p>\n<pre class=\"lang:prisma decode:true\">video = vlc.player(jan, obj,falso,falso);<\/pre>\n<p>Ou verdadeiro no terceiro par\u00e2metro para criar o menu ou no quarto para criar bot\u00f5es;<\/p>\n<pre class=\"lang:prisma decode:true\">ig.componente_def_tamanho(video.area,300 , 200 );<\/pre>\n<p>Definimos o tamanho do player usando a vari\u00e1vel <strong>video.area <\/strong>que \u00e9 a \u00e1rea de v\u00eddeo.<\/p>\n<pre class=\"lang:prisma decode:true\">ig.fixo_ad(fixo,video.caixa,40 , 100 );<\/pre>\n<p>Aqui, n\u00f3s colocamos a caixa contendo o menu, \u00e1rea de v\u00eddeo e bot\u00f5es atrav\u00e9s do campo video.caixa dentro do fixo que \u00e9 um cont\u00eainer do tipo posi\u00e7\u00f5es fixas x\/y.<\/p>\n<pre class=\"lang:prisma decode:true\">ig.componente_mostre_todos(jan);\r\nig.loop();<\/pre>\n<p>Enfim, mostramos a janela com todos os componentes filhos e iniciamos o la\u00e7o de eventos do igbr.<\/p>\n<p>Veja o resultado:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2816 size-full\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/igvlc-1.0.2.png\" alt=\"igvlc-1.0.2\" width=\"720\" height=\"537\" srcset=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/igvlc-1.0.2.png 720w, https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/igvlc-1.0.2-300x224.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>Vers\u00e3o 0.2 &#8211; igvlc.dll e vlc.pris s\u00e3o as bibliotecas de fun\u00e7\u00f5es para cria\u00e7\u00e3o de players de m\u00fasica e v\u00eddeo em Prisma:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1637\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vcl_1-300x160.png\" alt=\"vcl_1\" width=\"300\" height=\"160\" srcset=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vcl_1-300x160.png 300w, https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vcl_1.png 927w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Para usar basta instalar a lib igvlc, e no in\u00edcio de seu programa incluir o comando: inclua&#8217;vlc&#8217; ;<\/p>\n<p>O tamanho\u00a0dessa lib \u00e9 um pouco extenso devido a pasta de plugins, cerca de 17MB compactado em 7z. A vantagem \u00e9 que muitos formatos de \u00e1udio e v\u00eddeo podem ser tocados sem problemas, desde um simples mp3 at\u00e9 mp4 ou avi.<\/p>\n<p>Arquivos locais ou de servidores podem ser abertos com as fun\u00e7\u00f5es:<\/p>\n<p>midia = vlc.midia_com_arquivo( inst_vlc , &#8216;nome.avi&#8217;) \/\/local<\/p>\n<p>midia = vlc.midia_locacao( inst_vlc , &#8216;http\/\/site.net\/arquivo.mp4&#8217; );<\/p>\n<p>Comece j\u00e1 a criar seu pr\u00f3prio player.<\/p>\n<p><a href=\"http:\/\/linguagemprisma.br4.biz\/ccount\/click.php?id=igvlc\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-835\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/05\/botao_download.png\" alt=\"botao_download\" width=\"158\" height=\"47\" \/><\/a><\/p>\n<p>Exemplo de \u00e1udio sem interface gr\u00e1fica:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:prisma decode:true\">  \r\n  vlc = inclua'vlc'\r\n  \r\n  \/\/ criando uma instancia (objeto) vlc\r\n    inst = vlc.crie();\r\n\r\n    \/\/ crie uma midia a partir de um arquivo\r\n    m = vlc.midia_com_arquivo(inst, \"teste.mp3\");\r\n    \/\/experimente tambem criar a partir de uma url:\r\n    \/\/m = vlc.midia_locacao( inst , 'http:\/\/nome_site.net\/destino\/musica.mp3')\r\n\r\n    \/\/ crie um player a partir da midia criada acima.\r\n    mp = vlc.midia_player_com_midia(m);\r\n\r\n    \/\/ nao precisamos mais da midia, entao liberamos da memoria:\r\n    vlc.midia_destrua(m);\r\n\r\n    \/\/ comeca a tocar o player\r\n    vlc.midia_player_play(mp);\r\n\r\n    sis.durma(20000); \/\/espera por 20 segundos, enquanto toca a musiquinha\r\n\r\n    \/\/ parando a musica\r\n    vlc.midia_player_pare(mp);\r\n\r\n    \/\/ liberando da memoria o player e a instancia:\r\n    vlc.midia_player_destrua(mp);\r\n\r\n    vlc.destrua(inst);\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Exemplo de \u00e1udio com interface:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1635 size-full\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vlcaudio.png\" alt=\"vlcaudio\" width=\"840\" height=\"274\" srcset=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vlcaudio.png 840w, https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vlcaudio-300x98.png 300w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/p>\n<pre class=\"lang:prisma decode:true \">\/\/simples player por Adalberto AF\r\n\/\/licen\u00e7a: livre para usar, modificar, comercializar. \r\n\r\n\/\/primeiro vamos importar as bibliotecas necess\u00e1rias:\r\n\r\ninclua'igbr'; \/\/esta para interface gr\u00e1fica\r\nvlc = inclua'vlc'; \/\/esta para multim\u00eddia\r\n\r\n\/\/crie uma janela com titulo, largura e altura:\r\njanela = ig.janela('teste audio' , 500 , 250 );\r\nig.janela_destrua( janela ); \/\/para fechar corretamente\r\n\r\n \/\/crie um conteiner fixo para adicionar os componentes\r\n fixo = ig.fixo();\r\n ig.ad( janela , fixo); \/\/ad(icionando) na janela;\r\n\r\n\r\n\r\n\/\/crie um objeto vlc para suportar o \u00e1udio:\r\nvlc_objeto = vlc.crie();\r\n\r\n\/\/carregando uma midia de um arquivo\r\n\/\/midia = vlc.midia_com_arquivo(vlc_objeto, 'teste.mp3');\r\n\r\n\/\/voce pode passar uma url assim:\r\nmidia = vlc.midia_locacao( vlc_objeto , 'http:\/\/linguagemprisma.br4.biz\/music\/teste.mp3' )\r\n\r\n\/\/agora crie o player a partir da midia carregada.\r\nmidia_player = vlc.midia_player_com_midia(midia);\r\n\r\n\/\/crie as funcoes de play, pare, pause, def_volume\r\n\r\nfuncao play()\r\n   vlc.midia_player_play(midia_player);\r\nfim\r\n\r\nfuncao pare()\r\n  vlc.midia_player_pare( midia_player);\r\nfim\r\n\r\nfuncao pause()\r\n    vlc.midia_player_pause(midia_player);\r\nfim\r\n\r\nfuncao def_volume(escala)\r\n    local valor = ig.escala_obt_valor(escala);\r\n    vlc.midia_player_def_volume(midia_player,valor);\r\nfim\r\n\r\n\/\/crie os botoes e conecte \u00e0s funcoes acima\r\n\r\nbt_play = ig.botao_estoque( ig.estoque_play_midia);\r\nig.fixo_ad( fixo , bt_play , 10 , 100 );\r\nig.conecte_funcao( bt_play , ig.clique , play );\r\n\r\nbt_pare = ig.botao_estoque( ig.estoque_parar_midia);\r\nig.fixo_ad( fixo , bt_pare , 100 , 100 );\r\nig.conecte_funcao( bt_pare , ig.clique , pare );\r\n\r\n\r\nbt_pause = ig.botao_estoque( ig.estoque_pausar_midia);\r\nig.fixo_ad( fixo , bt_pause , 200 , 100 );\r\nig.conecte_funcao( bt_pause , ig.clique , pause );\r\n\r\nvolume = ig.escalah_com_limite( 0 , 300 , 10 );\r\nig.escala_def_valor( volume , 100 );\r\nig.componente_def_tamanho( volume , 100 , 40 );\r\nig.fixo_ad( fixo , ig.rotulo'Volume' , 300 , 80 )\r\nig.fixo_ad( fixo , volume , 300 , 90 );\r\n\r\nig.conecte_funcao( volume , ig.valor_mudado , def_volume );\r\n\r\n\r\nig.botao_mostre_imagem( verdadeiro ); \/\/torna as imagens visiveis nos botoes\r\n\r\nig.componente_mostre_todos(janela);\r\nig.fimprograma();\r\n\r\n\/\/para fechar corretamente, libere a memoria depois o loop de eventos:\r\n\/\/destruindo o player e o objeto vlc:\r\nvlc.midia_player_destrua(midia_player);\r\nvlc.destrua( vlc_objeto);\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Exemplo v\u00eddeo:<\/p>\n<pre class=\"lang:prisma decode:true \" title=\"Player vlc usando ig e igvlc\">\/\/simples player por Adalberto AF\r\n\/\/licen\u00e7a: livre para usar, modificar, comercializar.\r\n\r\n\/\/primeiro vamos importar as bibliotecas necess\u00e1rias:\r\n\r\n\r\ninclua'igbr'; \/\/esta para interface gr\u00e1fica\r\ninclua'vlc'; \/\/esta para multim\u00eddia\r\n\r\n\/\/crie uma janela com titulo, largura e altura:\r\njanela = ig.janela('teste video' , 500 , 250 );\r\nig.janela_destrua( janela ); \/\/para fechar corretamente\r\n\r\n \/\/crie um conteiner vertical:\r\n \/\/caixav = ig.caixavertical(falso,0);\r\n fixo = ig.fixo();\r\n ig.ad( janela , fixo); \/\/ad(icionando) na janela;\r\n\r\n\/\/crie uma area para desenhar o v\u00eddeo:\r\n\r\narea_video = ig.desenho_area();\r\nig.componente_def_tamanho( area_video , 300 , 200 );\r\nig.fixo_ad(fixo , area_video, 1,1);\/\/colocando a area na caixa vertical\r\n\r\n\/\/de uma cor preta inicial para a area do v\u00eddeo:\r\ncor_preta = ig.cor_analise(ig.preto);\r\nig.componente_modifique_corfundo(area_video , ig.estado_normal, cor_preta );\r\n\r\n\r\n\/\/crie um objeto vlc para suportar o v\u00eddeo:\r\nvlc_objeto = vlc.crie();\r\n\r\n\/\/agora crie o player a partir do objeto e um arquivo:\r\nmidia_player = vlc.midia_player_com_arquivo( vlc_objeto, \"teste.mp4\");\r\n\r\n\/\/crie uma fun\u00e7\u00e3o para exibir o v\u00eddeo na area de v\u00eddeo criada acima\r\nfuncao player_mostre_video( compo , player)\r\n \/\/colocando o player na area de v\u00eddeo:\r\n  vlc.midia_player_def_hwnd( midia_player , area_video );\r\n\/\/o hwnd \u00e9 um numero identificador para o componente area_video em windows.\r\nfim\r\n\r\n\r\n\/\/agora conecte a funcao acima no evente realize\r\nig.conecte_funcao( area_video , ig.realize ,player_mostre_video , nulo );\r\n    \r\n\r\nfuncao play()\r\n   vlc.midia_player_play(midia_player);\r\nfim\r\n\r\nplay();\r\n\r\n\r\nig.componente_mostre_todos(janela);\r\nig.fimprograma();\r\n\r\n\/\/para fechar corretamente, libere a memoria depois o loop de eventos:\r\n\/\/destruindo o player e o objeto vlc:\r\nvlc.midia_player_destrua(midia_player);\r\nvlc.destrua( vlc_objeto);\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Exemplo de v\u00eddeo um pouco mais complexo:<\/p>\n<p><a href=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vlcplayer.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1279\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vlcplayer-300x214.png\" alt=\"vlcplayer\" width=\"300\" height=\"214\" srcset=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vlcplayer-300x214.png 300w, https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2015\/09\/vlcplayer.png 613w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<pre class=\"lang:prisma decode:true \">inclua'igbr'\r\nvlc = inclua'vlc';\r\n\r\nig.botao_mostre_imagem(verdadeiro);\r\n\r\njanela = ig.janela(\"Teste Video\" , 600, 400 ); \/\/criando a janela\r\nig.janela_destrua(janela); \/\/fecha o aplicativo corretamente\r\n\r\ncaixavertical = ig.caixavertical(falso , 0 ); \/\/cria uma caixa vertical\r\nig.ad( janela , caixavertical);  \/\/adiciona a caixa na janela\r\n\r\n\r\nplayer = ig.desenho_area();\r\nig.ad( caixavertical , player );\r\n\r\ncor_preto = ig.cor_analise(ig.preto);\r\n\r\nig.componente_modifique_corfundo ( player , ig.estado_normal , cor_preto );\r\n\/\/definindo a cor preta do video\r\n\r\n\r\n\r\n\r\n vlc_inst = vlc.crie();\r\n    \r\n   \r\n    \r\n    \r\n   se args[1] entao\r\n      midia_arquivo = args[1]\r\n   senao\r\n     midia_arquivo = \"teste.mp4\";\r\n   fim\r\n\t\/\/primeiro criamos uma midia passando a instancia vlc e o nome do arquivo\r\n\t m = vlc.midia_com_arquivo(vlc_inst, midia_arquivo);\r\n\t\/\/m = vlc.midia_locacao( vlc_inst , \"http:\/\/linguagemprisma.br4.biz\/canto\/video\/Eis-a-oferta-mais-aceita-do-Senhor.mp4\");\r\n  \/\/depois criamos um player com a midia do arquivo\r\n\tmidia_player = vlc.midia_player_com_midia( m);\r\n\tvlc.midia_destrua(m); \/\/nao precisamos mais da midia entao liberamos da memoria;\r\n\r\n\t\/\/outra forma mais f\u00e1cil seria:\r\n\t\/\/midia_player = vlc.midia_player_com_arquivo ( vlc_inst, midia_arquivo);\r\n\t\r\n\t\r\n\t\r\n    \r\n         \r\n   \/\/esta funcao exibe a midia no componente drawing_area (desenho_area)\r\n    funcao player_componente_ao_exibir( compo , midia_player)\r\n         vlc.midia_player_def_hwnd( midia_player, compo );\r\n    fim\r\n   \/\/iniciando o player:\r\n    funcao play()\r\n              vlc.midia_player_play(midia_player);\r\n    fim\r\n\r\n   \/\/parando o player:\r\n   funcao pare()\r\n        vlc.midia_player_pare(midia_player);\r\n   fim\r\n\r\n\/\/pausando o player:\r\n    funcao pause() \r\n       vlc.midia_player_pause( midia_player );\r\n    fim\r\n\r\n\/\/obtendo e mostrando algumas informa\u00e7\u00f5es do arquivo:\r\n  funcao mostre_info() \r\n     vlc.midia_player_pause(midia_player);\r\n     local tmp_total = vlc.midia_player_obt_tamanho(midia_player) \/ 1000 ;\r\n     local pos = vlc.midia_player_obt_posicao ( midia_player )*100;\r\n       pos = string.formate( \"%.2f\" , pos); \/\/for\u00e7a 2 casas apos o ponto decimal\r\n       \r\n     local tempo =  vlc.midia_player_obt_tempo( midia_player) \/ 1000;\r\n     ig.msg( janela , \"INFORMA\u00c7\u00c3O\" , \r\n      'Este v\u00eddeo tem: ' .. tmp_total .. ' seconds de dura\u00e7\u00e3o' ..\r\n      \"\\nEste v\u00eddeo est\u00e1 em \" .. pos .. \" por cento visualizado\" ..\r\n      \"\\nEst\u00e1 no tempo: \" .. tempo .. \" segundos\"\r\n\r\n       );\r\n     vlc.midia_player_play(midia_player);\r\n  fim\r\n\r\n  funcao aumente_volume()\r\n   local vol = vlc.midia_player_obt_volume( midia_player )\r\n   se vol &lt;&gt; 400 entao\r\n   vlc.midia_player_def_volume( midia_player, vol + 5 );\r\n   fim\r\n   se vol &lt;&gt; -1 entao\r\n   ig.rotulo_def_texto( rot_volume , convstring(vol) );\r\n   fim\r\n  fim\r\n\r\n  funcao diminua_volume()\r\n   local vol = vlc.midia_player_obt_volume( midia_player )\r\n   se vol &lt;&gt; 0 entao\r\n   vlc.midia_player_def_volume( midia_player, vol - 5 );\r\n   fim\r\n   se vol &lt;&gt; -1 entao\r\n   ig.rotulo_def_texto( rot_volume , convstring(vol) );\r\n   fim\r\n  fim\r\n\r\nfuncao cb_escala( escala )\r\n local estado = vlc.midia_player_obt_estado( midia_player);\r\n se estado &lt;&gt; 3 entao \/\/se nao estiver rodando (pausado por exemple)\r\n vlc.midia_player_def_posicao( midia_player , ig.estensor_obt_valor(escala) );\r\n fim \/\/se \r\nfim\r\n\r\n\/\/escala_com_limite ( inicial , final , incremento ) \r\n  escalah = ig.escalah_com_limite( 0 , 1 , 0.0001 );\r\n  ig.caixa_ad(caixavertical , escalah  , falso , falso , 0 );\r\n  ig.conecte_funcao( escalah , 'value-changed' , cb_escala , nulo); \r\n  ig.conecte_funcao(escalah , ig.dentro , enter_esc , nulo);      \r\n\r\n    caixah = ig.caixahorizontal(falso,0);\r\n    ig.caixa_ad( caixavertical , caixah , falso , falso , 0);\r\n    \r\n    \r\n    bt_play = ig.botao_estoque( ig.estoque_play_midia) ;\r\n    ig.conecte_funcao( bt_play , ig.clique , play , nulo );\r\n    ig.caixa_ad ( caixah , bt_play , falso , falso ,  2 );\r\n\r\n    bt_pause = ig.botao_estoque( ig.estoque_pausar_midia);\r\n    ig.conecte_funcao( bt_pause , ig.clique , pause , nulo );\r\n    ig.caixa_ad( caixah , bt_pause , falso , falso , 2 );\r\n    \r\n     \r\n    bt_pare = ig.botao_estoque(ig.estoque_parar_midia);\r\n    ig.conecte ( bt_pare , ig.clique , 'pare()' );\r\n    ig.caixa_ad ( caixah , bt_pare , falso , falso ,  2);\r\n\r\n    bt_info = ig.botao('informa\u00e7\u00e3o');\r\n    ig.conecte ( bt_info , ig.clique , 'mostre_info()' );\r\n    ig.caixa_ad( caixah , bt_info , falso , falso , 2 );\r\n\r\n    bt_vol_max = ig.botao('volume + ');\r\n    ig.conecte( bt_vol_max , ig.clique , 'aumente_volume()');\r\n    ig.caixa_ad( caixah , bt_vol_max , falso , falso , 2 );\r\n\r\n    rot_volume = ig.rotulo'--'\r\n    ig.caixa_ad( caixah , rot_volume , falso , falso , 1 );\r\n\r\n    bt_vol_min = ig.botao(\"volume - \");\r\n    ig.conecte( bt_vol_min , ig.clique , 'diminua_volume()');\r\n    ig.caixa_ad( caixah , bt_vol_min , falso , falso , 2);\r\n\r\n\r\nfuncao voltar()\r\n\r\n  local tmp = vlc.midia_player_obt_tempo( midia_player);\r\n  se pos &lt;&gt; 0 entao\r\n    vlc.midia_player_def_tempo( midia_player , tmp - 2000 );\r\n  fim\r\n\r\nfim\r\n\r\nfuncao avancar()\r\n\r\n  local tmp = vlc.midia_player_obt_tempo( midia_player);\r\n  se pos &lt;&gt; vlc.midia_player_obt_tamanho(midia_player) entao\r\n    vlc.midia_player_def_tempo( midia_player , tmp + 2000 );\r\n  fim\r\n\r\nfim\r\n   \r\n    bt_voltar = ig.botao'&lt;';\r\n    ig.conecte( bt_voltar , ig.clique , 'voltar()' );\r\n    ig.caixa_ad( caixah , bt_voltar , falso , falso , 2);\r\n\r\n     bt_avancar = ig.botao('&gt;');\r\n    ig.conecte( bt_avancar , ig.clique , 'avancar()');\r\n    ig.caixa_ad(caixah , bt_avancar , falso , falso , 2);\r\n     \r\n\r\n  \/\/conecta a funcao que mostra o v\u00eddeo na janela. \r\n    ig.conecte_funcao( player, ig.realize ,player_componente_ao_exibir, midia_player );\r\n    \r\n    se args[1] entao play(1) fim;\r\n\r\n    \/\/ IDLE = 0 , CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7\r\n\r\n     estados = { [0] = 'idle\/fechado' , 'abrindo' , 'bufferizando' , 'rodando' , 'pausado' , 'finalizado' , 'tendo erro' };\r\n     \r\n\r\n\r\nfuncao execute_temp()\r\n    \/\/ sis.execute'cls'\r\n     local tempo = vlc.midia_player_obt_tempo(midia_player) \/ 1000;\r\n     local tam = vlc.midia_player_obt_tamanho(midia_player)\/1000;\r\n     ig.janela_def_titulo( janela , \"Tempo: \" .. tempo .. ' de ' .. tam );\r\n\r\n     \/\/imprima( vlc.midia_player_obt_rate(midia_player) ); \/\/obtem o rate (a taxa)\r\n    \/\/imprima( vlc.midia_player_obt_midia( midia_player)  ); \/\/obtem a midia definida no player\r\n    imprima( vlc.midia_player_obt_hwnd( midia_player ) );\r\n     local stat = vlc.midia_player_obt_estado( midia_player)\r\n     imprima('o video esta' , estados[ stat ] , stat ); \r\n     imprima('fps:' , vlc.midia_player_obt_fps(midia_player) );\r\n     imprima('n titulos' , vlc.midia_player_obt_titulos_quantos(midia_player) );\r\n     imprima('posicao em porcentagem do video' , vlc.midia_player_obt_posicao(midia_player) );\r\n  se stat == 3 entao   ig.estensor_def_valor( escalah ,  vlc.midia_player_obt_posicao(midia_player)   );\r\n  fim\r\n     \r\nfim\r\n\r\n temporizador_1 = ig.temporizador( 1 , 100, janela , \"execute_temp()\" );\r\n ig.temporizador_inicie( temporizador_1 , janela);\r\n    \r\n ig.componente_mostre_todos(janela);\r\n    \r\n ig.fimprograma ();\r\n\r\n    vlc.midia_player_destrua(midia_player);\r\n    vlc.destrua(vlc_inst);\r\n\r\n\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>**Para funcionar corretamente baixe a atualiza\u00e7\u00e3o Prisma do dia 27\/02\/2017 ou superior.** Atualizado &#8211; 27\/02\/2017 Agora ficou mais f\u00e1cil embutir o player no igbr com um comando de alto n\u00edvel, veja: local ig = inclua&#8217;igbr&#8217; local vlc = inclua &#8216;vlc&#8217; jan = ig.janela(&#8220;Teste vlc&#8221;, 700,500); ig.conecte_permutado(jan,ig.destruido, executestring,&#8217;ig.fimjanela()&#8217;); fixo = ig.fixo(); ig.ad(jan,fixo); obj = vlc.crie(); video&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-1278","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages\/1278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=1278"}],"version-history":[{"count":16,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages\/1278\/revisions"}],"predecessor-version":[{"id":2818,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages\/1278\/revisions\/2818"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=1278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}