inclua'igbr'
vlc = inclua'vlc';
ig.botao_mostre_imagem(verdadeiro);
janela = ig.janela("Teste Video" , 600, 400 ); //criando a janela
ig.janela_destrua(janela); //fecha o aplicativo corretamente
caixavertical = ig.caixavertical(falso , 0 ); //cria uma caixa vertical
ig.ad( janela , caixavertical); //adiciona a caixa na janela
player = ig.desenho_area();
ig.ad( caixavertical , player );
cor_preto = ig.cor_analise(ig.preto);
ig.componente_modifique_corfundo ( player , ig.estado_normal , cor_preto );
//definindo a cor preta do video
vlc_inst = vlc.crie();
se args[1] entao
midia_arquivo = args[1]
senao
midia_arquivo = "teste.mp4";
fim
//primeiro criamos uma midia passando a instancia vlc e o nome do arquivo
m = vlc.midia_com_arquivo(vlc_inst, midia_arquivo);
//m = vlc.midia_locacao( vlc_inst , "http://linguagemprisma.br4.biz/canto/video/Eis-a-oferta-mais-aceita-do-Senhor.mp4");
//depois criamos um player com a midia do arquivo
midia_player = vlc.midia_player_com_midia( m);
vlc.midia_destrua(m); //nao precisamos mais da midia entao liberamos da memoria;
//outra forma mais fácil seria:
//midia_player = vlc.midia_player_com_arquivo ( vlc_inst, midia_arquivo);
//esta funcao exibe a midia no componente drawing_area (desenho_area)
funcao player_componente_ao_exibir( compo , midia_player)
vlc.midia_player_def_hwnd( midia_player, compo );
fim
//iniciando o player:
funcao play()
vlc.midia_player_play(midia_player);
fim
//parando o player:
funcao pare()
vlc.midia_player_pare(midia_player);
fim
//pausando o player:
funcao pause()
vlc.midia_player_pause( midia_player );
fim
//obtendo e mostrando algumas informações do arquivo:
funcao mostre_info()
vlc.midia_player_pause(midia_player);
local tmp_total = vlc.midia_player_obt_tamanho(midia_player) / 1000 ;
local pos = vlc.midia_player_obt_posicao ( midia_player )*100;
pos = string.formate( "%.2f" , pos); //força 2 casas apos o ponto decimal
local tempo = vlc.midia_player_obt_tempo( midia_player) / 1000;
ig.msg( janela , "INFORMAÇÃO" ,
'Este vídeo tem: ' .. tmp_total .. ' seconds de duração' ..
"\nEste vídeo está em " .. pos .. " por cento visualizado" ..
"\nEstá no tempo: " .. tempo .. " segundos"
);
vlc.midia_player_play(midia_player);
fim
funcao aumente_volume()
local vol = vlc.midia_player_obt_volume( midia_player )
se vol <> 400 entao
vlc.midia_player_def_volume( midia_player, vol + 5 );
fim
se vol <> -1 entao
ig.rotulo_def_texto( rot_volume , convstring(vol) );
fim
fim
funcao diminua_volume()
local vol = vlc.midia_player_obt_volume( midia_player )
se vol <> 0 entao
vlc.midia_player_def_volume( midia_player, vol - 5 );
fim
se vol <> -1 entao
ig.rotulo_def_texto( rot_volume , convstring(vol) );
fim
fim
funcao cb_escala( escala )
local estado = vlc.midia_player_obt_estado( midia_player);
se estado <> 3 entao //se nao estiver rodando (pausado por exemple)
vlc.midia_player_def_posicao( midia_player , ig.estensor_obt_valor(escala) );
fim //se
fim
//escala_com_limite ( inicial , final , incremento )
escalah = ig.escalah_com_limite( 0 , 1 , 0.0001 );
ig.caixa_ad(caixavertical , escalah , falso , falso , 0 );
ig.conecte_funcao( escalah , 'value-changed' , cb_escala , nulo);
ig.conecte_funcao(escalah , ig.dentro , enter_esc , nulo);
caixah = ig.caixahorizontal(falso,0);
ig.caixa_ad( caixavertical , caixah , falso , falso , 0);
bt_play = ig.botao_estoque( ig.estoque_play_midia) ;
ig.conecte_funcao( bt_play , ig.clique , play , nulo );
ig.caixa_ad ( caixah , bt_play , falso , falso , 2 );
bt_pause = ig.botao_estoque( ig.estoque_pausar_midia);
ig.conecte_funcao( bt_pause , ig.clique , pause , nulo );
ig.caixa_ad( caixah , bt_pause , falso , falso , 2 );
bt_pare = ig.botao_estoque(ig.estoque_parar_midia);
ig.conecte ( bt_pare , ig.clique , 'pare()' );
ig.caixa_ad ( caixah , bt_pare , falso , falso , 2);
bt_info = ig.botao('informação');
ig.conecte ( bt_info , ig.clique , 'mostre_info()' );
ig.caixa_ad( caixah , bt_info , falso , falso , 2 );
bt_vol_max = ig.botao('volume + ');
ig.conecte( bt_vol_max , ig.clique , 'aumente_volume()');
ig.caixa_ad( caixah , bt_vol_max , falso , falso , 2 );
rot_volume = ig.rotulo'--'
ig.caixa_ad( caixah , rot_volume , falso , falso , 1 );
bt_vol_min = ig.botao("volume - ");
ig.conecte( bt_vol_min , ig.clique , 'diminua_volume()');
ig.caixa_ad( caixah , bt_vol_min , falso , falso , 2);
funcao voltar()
local tmp = vlc.midia_player_obt_tempo( midia_player);
se pos <> 0 entao
vlc.midia_player_def_tempo( midia_player , tmp - 2000 );
fim
fim
funcao avancar()
local tmp = vlc.midia_player_obt_tempo( midia_player);
se pos <> vlc.midia_player_obt_tamanho(midia_player) entao
vlc.midia_player_def_tempo( midia_player , tmp + 2000 );
fim
fim
bt_voltar = ig.botao'<';
ig.conecte( bt_voltar , ig.clique , 'voltar()' );
ig.caixa_ad( caixah , bt_voltar , falso , falso , 2);
bt_avancar = ig.botao('>');
ig.conecte( bt_avancar , ig.clique , 'avancar()');
ig.caixa_ad(caixah , bt_avancar , falso , falso , 2);
//conecta a funcao que mostra o vídeo na janela.
ig.conecte_funcao( player, ig.realize ,player_componente_ao_exibir, midia_player );
se args[1] entao play(1) fim;
// IDLE = 0 , CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7
estados = { [0] = 'idle/fechado' , 'abrindo' , 'bufferizando' , 'rodando' , 'pausado' , 'finalizado' , 'tendo erro' };
funcao execute_temp()
// sis.execute'cls'
local tempo = vlc.midia_player_obt_tempo(midia_player) / 1000;
local tam = vlc.midia_player_obt_tamanho(midia_player)/1000;
ig.janela_def_titulo( janela , "Tempo: " .. tempo .. ' de ' .. tam );
//imprima( vlc.midia_player_obt_rate(midia_player) ); //obtem o rate (a taxa)
//imprima( vlc.midia_player_obt_midia( midia_player) ); //obtem a midia definida no player
imprima( vlc.midia_player_obt_hwnd( midia_player ) );
local stat = vlc.midia_player_obt_estado( midia_player)
imprima('o video esta' , estados[ stat ] , stat );
imprima('fps:' , vlc.midia_player_obt_fps(midia_player) );
imprima('n titulos' , vlc.midia_player_obt_titulos_quantos(midia_player) );
imprima('posicao em porcentagem do video' , vlc.midia_player_obt_posicao(midia_player) );
se stat == 3 entao ig.estensor_def_valor( escalah , vlc.midia_player_obt_posicao(midia_player) );
fim
fim
temporizador_1 = ig.temporizador( 1 , 100, janela , "execute_temp()" );
ig.temporizador_inicie( temporizador_1 , janela);
ig.componente_mostre_todos(janela);
ig.fimprograma ();
vlc.midia_player_destrua(midia_player);
vlc.destrua(vlc_inst);