WPF怎么获取mp3的自然时间然后赋值给progressbar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF怎么获取mp3的自然时间然后赋值给progressbar相关的知识,希望对你有一定的参考价值。

就是用progressbar显示歌曲的播放进度...百度找了很久都没答案...有哪位大神给个例子或者伪代码也行

参考技术A 用Windows Media Player的COM API(WPF自带的好像不行),获取文件的元数据,找到播放时间,设这个值为Length.
再同样获取已播放的数据,设为Current。用Length除以Current赋值给ProgressBar的Value。追问

我能用NaturalDuration给progressbar的最大值,然后用position定位把当前值给value吗。。不过好像类型不对啊.

参考技术B 你好,你的问题分类选择错误,以致无法给你编写代码。
如果代码截图的话,就不好复制等操作了。
要不你去看下我的博客吧,C#获取音频文件(MP3等)播放时间长度的几种方式,我写了3种方式。
地址:http://blog.csdn.net/rabbitsoft_1987/article/details/19039201

对于赋值给progressbar,这个应该没有问题吧,我的代码里面赋值给button显示的,属性不同而已,如有问题,继续追问。追问

我能用NaturalDuration给progressbar的最大值,然后用position定位把当前值给value吗。。不过好像类型不对啊.

追答

你想实现音乐播放的时候,进度条向前滚动吗?
把音乐的总长给progressbar的最大值,音乐的当前位置给progressbar的value就可以了

追问

但是他启动之后提示 无法为“Automatic”的 Duration 值返回 TimeSpan 属性值。在从 Duration 请求 TimeSpan 属性值之前,检查 HasTimeSpan 属性。

追答

你为什么要用Duration?不绑定音乐的当前值,音乐播放后使用Duration递减吗?

追问

那NaturalDuration是Duration的类对象嘛- -......那应该怎么赋值给Max和value...能举个例子?谢谢~

追答

你说下你要达到的效果:音乐播放后,进度条向前滚吗?

追问

对的..就好像QQ音乐那些进度条一样..不过是用progressbar不是用slider

追答

你看下DirectoX2.xaml中的代码,主界面最后一个按钮进入。

追问

\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll”正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

追答

你是调试?直接EXE运行是可以的,因为用了DirectX

追问

果然行了..但是有什么办法调试也不出错呢..毕竟每次用debug播放器- -

追答

调试中DirectX报错,如需过滤,将菜单 调试->异常->Managed Debugging Assistants中勾去掉即可。
上面的博文地址里面也写了。

本回答被提问者和网友采纳

Ajax获取到后台json数据,然后怎么取其中name的值赋值给li标签里面

有多少个name就生成多少个li标签,然后放在id=“regional”的div里面。自己写的代码中显示结果为第三个图,请问代码还需要怎么处理

参考技术A 1、如果用的jquery 你就都用jquery,不要在你的$.post里面又用原生的js
2、用的ajax,jstl是没有用的
3、把你$.post中得到的数据data转化成json。遍历参考如下
packJson = [ "name":"nikita", "password":"1111", "name":"tony", "password":"2222" ]; for(var p in packJson)//遍历json数组时,这么写p为索引,0,1 alert(packJson[p].name + " " + packJson[p].password);

4、你的data转json eval('(' + data+ ')')
5、你的ul应该在最外层。遍历的时候在ul里面加li。最后把<ul><li></li><li></li><ul/> html到对应的div
6、等以后会用了,再考虑兼容性本回答被提问者和网友采纳

以上是关于WPF怎么获取mp3的自然时间然后赋值给progressbar的主要内容,如果未能解决你的问题,请参考以下文章

wpf中 后台怎么动态给控件的style赋值

wpf 多线程 对文本框赋值

关于WPF中menu的问题

WPF 中的image控件的Source如何赋值?

WPF 中的image控件的Source如何赋值?

Ajax获取到后台json数据,然后怎么取其中name的值赋值给li标签里面