C# 做一个播放音频文件的进度条该怎么实现呢??

当点击播放的时候根据音频文件的时间动态显示进度,用TrackBar不知道可不可以,有没高手给个详细的代码实现,万分感谢...... 当点击播放的时候根据音频文件的时间动态显示进度,用TrackBar不知道可不可以,有没高手给个详细的代码实现,万分感谢... 展开
 我来答
丑运珊环启
2020-04-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:808万
展开全部
没办法,几乎所有的timer有会有一定的时间误差。不过听你的意思貌似是根据timer的计算来更新进度条的数据??
你可以在timer里执行这个操作:
获取音频文件当前的播放位置[如果用windowmediaplayer的话,这个位置将会是时间,不是的话应该是流位置],根据这个重新更新进度条
2009我们的
2015-08-06 · TA获得超过1323个赞
知道小有建树答主
回答量:1238
采纳率:30%
帮助的人:370万
展开全部
先读取视频的总时间,之后 获取现在已播放时间比上总时间, 得到一个百分比, 再用两个div背景设置就可以做成进度条了。 拖拉也可以的。 比较吃js功夫的。
音频格式是指要在计算机内播放或是处理音频文件,是对声音文件进行数、模转换的过程。音频格式最大带宽是20KHZ,速率介于40~50KHZ之间,采用线性脉冲编码调制PCM,每一量化步长都具有相等的长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tn瓶邪
推荐于2017-09-28 · TA获得超过1882个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:113万
展开全部
  实现的代码为:
  private void GetData()
{
string strConn = "Data Source=.;Initial Catalog=dbXXX;User ID=sa;pwd=123456";
SqlConnection con = new SqlConnection(strConn);
SqlDataAdapter da = new SqlDataAdapter("select * from tableX", con);
DataSet ds = new DataSet();
da.Fill(ds);
int count = ds.Tables[0].Rows.Count;
progressBar1.Minimum = 0;
progressBar1.Maximum = 100;
progressBar1.BackColor = Color.Green;
for (int i = 0; i < count; i++) //为了能看出效果 用for循环来减低速度
{
for (int j = 0; j < 1000; j++)
{
if (Convert.ToInt32(ds.Tables[0].Rows[i]["***"].ToString()) > 20)
cc++;
}
progressBar1.Value = ((i + 1) * 100 / count);
}
dataGridView1.DataSource = ds.Tables[0];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
perfei2
推荐于2017-09-13
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
progressBar1.Maximum = (int)axWindowsMediaPlayer1.currentMedia.duration;
progressBar1.Minimum = 0;
progressBar1.Step = (int)(progressBar1.Maximum / 20);
progressBar1.Value = (int)axWindowsMediaPlayer1.Ctlcontrols.currentPosition;
time.Text = axWindowsMediaPlayer1.Ctlcontrols.currentPositionString;

放在Timer里.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式