none
Adicionar barra de progresso em projeto VLC player RRS feed

  • Pergunta

  • Boa tarde gente!

    seguinte, estou com um projeto quase todo pronto de um player que usa plugin do VLC, esta rodando de boa mas, gostaria de adicionar uma barra progressiva para contagem de tempo dos arquivos de mídia e não faço ideia de como fazer rsrs

    alguém pode ajudar?

    segue o código do player:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using AxAXVLC;
    using System.IO;
    using System.Runtime.InteropServices;
    using AXVLC;

    namespace Player_em_VLC
    {
        public partial class Form1 : Form
        {
            public static string UserName = Environment.UserName;

            public Form1()
            {
                InitializeComponent();
            }

            private void PlayList_SelectedIndexChanged(object sender, EventArgs e)
            {

            }

            private void btnPlayList_Click(object sender, EventArgs e)
            {
                DirectoryInfo dirInfo = new DirectoryInfo(@"C:\Users\" + UserName + "\\Music");
                FileInfo[] file = dirInfo.GetFiles("*.mp3", SearchOption.AllDirectories);
                foreach (FileInfo curFile in file)
                {
                    PlayList.Items.Add(curFile.Name);
                    TLVLC.playlist.add("file:///" + curFile.FullName);
                }
                PlayList.SelectedIndex = 0;
                PlayList.Update();
            }

            private void TLVLC_MediaPlayerEndReached(object sender, EventArgs e)
            {
                if (PlayList.SelectedIndex < (PlayList.Items.Count - 1))
                {
                    TLVLC.playlist.next();
                    PlayList.SelectedIndex += 1;
                    PlayList.Update();
                }
                else
                {
                    PlayList.SelectedIndex = 0;
                    PlayList.Update();
                }
            }

            private void btnPlay_Pause_Click(object sender, EventArgs e)
            {
                int selIndex = PlayList.SelectedIndex;
                TLVLC.playlist.playItem(selIndex);
            }

            private void btnStop_Click(object sender, EventArgs e)
            {
                TLVLC.playlist.stop();
                PlayList.SelectedIndex = 0;
                PlayList.Update();
            }

            private void btnNext_Click(object sender, EventArgs e)
            {
                if (TLVLC.playlist.isPlaying)
                {
                    TLVLC.playlist.next();
                    PlayList.SelectedIndex += 1;
                    PlayList.Update();
                }
            }

            private void btnPrevios_Click(object sender, EventArgs e)
            {
                if (TLVLC.playlist.isPlaying)
                {
                    TLVLC.playlist.prev();
                    PlayList.SelectedIndex -= 1;
                    PlayList.Update();
                }
            }

            private void btnTrackVolume_ValueChanged(object sender, EventArgs e)
            {
                TLVLC.volume = btnTrackVolume.Value;
            }

            private void barprocount_progressChanged(object sender, EventArgs e)
            {
                ///////////////////////////////////////////////////////////////////////////////////////////////esta é a parte que estou perdido
            }

            private string TimeFormat(int iMilliseconds)
            {
                int iTotalSeconds = iMilliseconds / 1000;
                int hours = (iTotalSeconds >= 3600) ? iMilliseconds / 3600 : 0;
                int hours_res = (iTotalSeconds >= 3600) ? iTotalSeconds - (hours / 3600) : iTotalSeconds;
                int minutes = hours_res / 60;
                int minutes_res = hours_res - (minutes / 60);
                int seconds = minutes_res % 60;
                string strTimeString = string.Format("{0,1}:{1,2:D2}:{2,2:D2}", hours, minutes, seconds);
                return strTimeString;
            }
            private void TLVLC_MediaPlayerTimeChanged(object sender, DVLCEvents_MediaPlayerTimeChangedEvent e)
            {
                lbtrackcont.Text = TimeFormat(e.time);
            }

            private void TLVLC_MediaPlayerPlaying(object sender, EventArgs e)
            {
                lbtotalitemselect.Text = TimeFormat((int)TLVLC.input.length);
            }

            private void TLVLC_MediaPlayerPositionChanged(object sender, DVLCEvents_MediaPlayerPositionChangedEvent e)
            {
                lbtotalitemselect.Text = TimeFormat((int)TLVLC.input.length);
            }
        }
    }

    desde já agradeço a todos 

    sábado, 20 de janeiro de 2018 19:30

Respostas

  • Boa tarde, Gabriel Cruz Nogueira. Tudo bem?

    Nesse caso você deveria abrir essa questão como uma discussão, assim junto com a comunidade você poderá encontrar a melhor maneira de implementar o que deseja.

    Para abrir uma discussão, faça o mesmo processo de abrir uma pergunta, mas ao invés de marcar como pergunta, marque como discussão, assim:

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 23 de janeiro de 2018 14:46
    Moderador

Todas as Respostas

  • Boa tarde, Gabriel Cruz Nogueira. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 22 de janeiro de 2018 16:02
    Moderador
  • boa tarde Filipe B de Castro

    seria caso de customização, pois desabilitei os controles da barra do plugin, apenas quero acionar uma barra de contagem de tempo para mídia, ficaria como na imagem abaixo 

    segunda-feira, 22 de janeiro de 2018 19:45
  • Boa tarde, Gabriel Cruz Nogueira. Tudo bem?

    Nesse caso você deveria abrir essa questão como uma discussão, assim junto com a comunidade você poderá encontrar a melhor maneira de implementar o que deseja.

    Para abrir uma discussão, faça o mesmo processo de abrir uma pergunta, mas ao invés de marcar como pergunta, marque como discussão, assim:

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 23 de janeiro de 2018 14:46
    Moderador
  • obrigado amigo, farei isso então 
    terça-feira, 23 de janeiro de 2018 16:28