获得mp3播放时间

sjq8522 2009-08-13 01:16:08
请问大家一个问题,怎样把mp3时间放到列表框里,就象千千静听的歌曲列表一样,例如: 真心英雄 3:20 上海滩 4:20 麻烦大家一下,怎样才能把时间放到歌曲的后面,谢谢各位先
...全文
428 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjq8522 2009-08-16
  • 打赏
  • 举报
回复
谢谢你的关注,期待高手帮忙解答。因为现在大部分音乐播放器都流行之招(包括手机版天天动听都有),还望高手赐教,不胜感激!
sjq8522 2009-08-16
  • 打赏
  • 举报
回复
自己再顶一下,这个个问题还不错,有得研究,…
sjq8522 2009-08-14
  • 打赏
  • 举报
回复
各位高手看还有没有什么办法
feitianchong 2009-08-14
  • 打赏
  • 举报
回复
暂时还不知道,如果可以大概你早百度到了吧。就像这样,其实每次添加一着歌,添加的时候自动播放并
统计时间,后面的就可以直接读了。我知道这个方法 太烂了,将就着用吧。
只能静待高手了。。。
feitianchong 2009-08-14
  • 打赏
  • 举报
回复

//添加音乐
private void btn_Add_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.AddExtension = true;
ofd.CheckFileExists = true;
ofd.CheckPathExists = true;
ofd.Filter = "所有影音文件(*.mp3;*.wma;*.wav;*.avi;*.wmv;*.mpeg;*.mpg;*.dat;*.rm;*.rmvb)|*.mp3;*.dat;*.wma;*.wav;*.avi;*.wmv;*.mpeg;*.mpg;*.rm;*.rmvb";
ofd.FilterIndex = 2;

if (ofd.ShowDialog() == DialogResult.OK)
{
con.axWindowsMediaPlayer1.URL = ofd.FileName;//获得音乐文件的路径
FileInfo fi = new FileInfo(ofd.FileName);
con.axWindowsMediaPlayer1.Ctlcontrols.play();//播放
this.lb_Playing.Text = string.Format(" Playing:{0}",fi.Name);
FirstSet();//播放初始设置

//验证歌曲重复,并添加到播放列表
DataSet _dsSong = new DataSet();
_dsSong.ReadXml(Application.StartupPath + "\\musicList.xml", XmlReadMode.ReadSchema);
DataView _dv = new DataView(_dsSong.Tables[0]);
_dv.RowFilter = string.Format("mUrl='{0}'",clsTool.SqlInsertEncode(ofd.FileName));
if (_dv.ToTable().Rows.Count == 0)
XMLAdd();//添加到xml
else
MessageBox.Show("The selected song is already exist");
//加载xml中播放列表
PlayListBind();
}
}

//播放初始化
private void FirstSet()
{
count = 0;
int total = Convert.ToInt32(Math.Truncate(con.axWindowsMediaPlayer1.currentMedia.duration)*10); //进度条总长度
prog_elapsed.Maximum = total;
prog_remain.Maximum = total;
this.prog_elapsed.Value = 0;
this.prog_remain.Value = total;
this.lb_currTotal.Text = con.axWindowsMediaPlayer1.currentMedia.durationString;//总时间
this.slider_prog.Maximum = total;
this.timer1.Enabled = true;
this.cb_HideContr.Checked = true;
}
sjq8522 2009-08-14
  • 打赏
  • 举报
回复
8楼的朋友你好,你的方法也是要播放歌曲才能获得歌曲的总时间。有没有不播放歌曲就能获得歌曲的总时间呀。像电脑上的音乐播放器一样
sjq8522 2009-08-13
  • 打赏
  • 举报
回复
对于三楼的说法,只能在mp3播放时属性才有用,要是歌曲没播放的话没用,你可以看你的电脑上的音乐播放器上的播放列表,音乐没播放,歌曲后面一样跟着歌曲的总播放时间。
sjq8522 2009-08-13
  • 打赏
  • 举报
回复
你好,我看了你的网址,没有我要的mp3时间,都是歌曲名,作者,年等,
feitianchong 2009-08-13
  • 打赏
  • 举报
回复
曾经做过一个简单的播放器,可以这样做,添加mp3文件时先取得mp3的信息
方法在这里http://hi.baidu.com/feitianchong1/blog/item/dadc41a6b5ae679cd04358c4.html
同时添加到数据库,或者是xml文件就行了,我做的时候是用xml当数据库的
http://hi.baidu.com/feitianchong1/blog/item/0c01d42b33880a24d52af1b0.html
柳晛 2009-08-13
  • 打赏
  • 举报
回复
这个好像是在文件属性中获得的。
carlfan 2009-08-13
  • 打赏
  • 举报
回复
中国 人民 20中国 人民 20
threenewbee 2009-08-13
  • 打赏
  • 举报
回复
使用一个没有表头的ListView

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧