Usuário com melhor resposta
Adicionar barra de progresso em projeto VLC player

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
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.
- Marcado como Resposta Gabriel Cruz Nogueira terça-feira, 23 de janeiro de 2018 16:28
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.
-
-
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.
- Marcado como Resposta Gabriel Cruz Nogueira terça-feira, 23 de janeiro de 2018 16:28
-