
利用axWindowsMediaPlayer(Windows Media Player)制作MP3播放器 2
在制作mp3播放器之前,我们需要了解axWindowsMediaPlayer 媒体主要方法属性:
属性/方法名: 说明:
[基本属性]
URL:String; 指定媒体位置,本机或网络地址
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible
playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪
enableContextMenu:Boolean; 启用/禁用右键菜单
fullScreen:boolean; 是否全屏显示
//播放器基本控制
Ctlcontrolsplay; 播放
Ctlcontrolspause; 暂停
Ctlcontrolsstop; 停止
CtlcontrolscurrentPosition:double; 当前进度
CtlcontrolscurrentPositionString:string; 当前进度,字符串格式。如“00:23”
CtlcontrolsfastForward; 快进
CtlcontrolsfastReverse; 快退
MediaPlayer md = new MediaPlayer();
try {
LogUtilslog(EnvironmentgetExternalStorageDirectory() +"/123mp3");
mdsetDataSource(EnvironmentgetExternalStorageDirectory() +"/123mp3");
mdprepare();
LogUtilslog("size " + mdgetDuration());
} catch (Exception e) {
eprintStackTrace();
}
MediaPlayer 初始化 -> setDataSource->prepare-> 就可以获取到了getDuration() 单位是ms
你缺少一个刷新函数,,每隔一秒钟刷新一次才能获取当前你播放的进度时间了,不是吗。
这边webform出了问题,不能帮你解决,,
我用winform做了一个,不过 大同小异!!
拉出控件axWindowsMediaPlayer1:在Form_Load里定义
private void Form1_Load(object sender, EventArgs e)
{
axWindowsMediaPlayer1URL = @"E:\卓依婷-追求mpg";
axWindowsMediaPlayer1Ctlcontrolsplay();
label1Text = axWindowsMediaPlayer1CtlcontrolscurrentPositionStringToString() ;
timer1Start();
}
拉出Timer控件,用于刷新时间的
private void timer1_Tick(object sender, EventArgs e)
{
label1Text = axWindowsMediaPlayer1CtlcontrolscurrentPositionStringToString() ;
}
你应该就是这边出了问题,你没写刷新方法,一直一直停留在当你加载这首歌曲的时候的第一零秒钟,然后一直就没刷新过它在什么位置了。
winform如上代码就足够了。。
webform我估计你要写一个javascript使用setinterval具体上网查查吧。,或者用timer控件,
timer控件很方便,你安装了ASPAJAXExtSetupexe就会出现了,微软提供的ajax控件,简单实用。其中就有一个timer,跟window差不多。
以上就是关于自己弄了很久都不知道怎么获取当前播放animation的时间全部的内容,包括:自己弄了很久都不知道怎么获取当前播放animation的时间、AVAudioPlayer 怎样获取当前音频文件的总播放时长、WindowsMediaPlayer 的时间问题,大家帮帮忙啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)