| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3868 人关注过本帖
标题:自动播放下一曲问题
只看楼主 加入收藏
yimaoqian198
Rank: 4
等 级:业余侠客
帖 子:108
专家分:287
注 册:2010-5-10
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:6 
自动播放下一曲问题
程序代码:
private void WindowsMediaPlayer1_PlayStateChange_1(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
        {
           
            if (WindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsStopped)
            {
                listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
                WindowsMediaPlayer1.URL = playList[listBox1.SelectedIndex];
             
               
            }
          
        }

在播放完一首歌曲的时候我想让他自动播放下一曲,结果是跳过一首播放第二首是怎么回事

搜索更多相关主题的帖子: 自动播放 
2011-11-22 16:17
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
不明白,建议你用播放列表做,这个实在是不好实现!

   唯实惟新 至诚致志
2011-11-22 21:58
yimaoqian198
Rank: 4
等 级:业余侠客
帖 子:108
专家分:287
注 册:2010-5-10
收藏
得分:0 
回复 2楼 qq1023569223
我是把歌曲加载到listbox中,然后播放的
2011-11-23 11:05
yimaoqian198
Rank: 4
等 级:业余侠客
帖 子:108
专家分:287
注 册:2010-5-10
收藏
得分:0 
程序代码:
private void WindowsMediaPlayer1_PlayStateChange_1(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
        {
          
            if (WindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsStopped)//判断播放器是否播播放完这首歌曲
            {
                listBox1.SelectedIndex = listBox1.SelectedIndex + 1;//listbox中选择的数加1
                WindowsMediaPlayer1.URL = playList[listBox1.SelectedIndex];//添加到WindowsMediaPlayer1的URL
            
              
            }
         
        }



2011-11-23 11:07
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
收藏
得分:5 
WindowsMediaPlayer的PlayStateChange事件并不能有效的识别 "播放停止状态",这是微软的BUG
弥补方法:
用一个timer来每秒检测当前播放时间是否等于歌曲总时间来判断是否该播放下一首了
或者
在if (WindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsStopped)//判断播放器是否播播放完这首歌曲
            {
}
里面启动一个timer
再在timer里面执行
 listBox1.SelectedIndex = listBox1.SelectedIndex + 1;//listbox中选择的数加1
                WindowsMediaPlayer1.URL = playList[listBox1.SelectedIndex];//添加到WindowsMediaPlayer1的URL


站在春哥的肩膀上
2011-11-23 15:24
yimaoqian198
Rank: 4
等 级:业余侠客
帖 子:108
专家分:287
注 册:2010-5-10
收藏
得分:0 
回复 4楼 yimaoqian198
好的我试一试
2011-11-24 11:25
yimaoqian198
Rank: 4
等 级:业余侠客
帖 子:108
专家分:287
注 册:2010-5-10
收藏
得分:0 
回复 5楼 xydddaxia
程序代码:
private void timer1_Tick(object sender, EventArgs e)
        {

            if (WindowsMediaPlayer1.playState.ToString() == "wmppsStopped")
            {
             
              
                    startnum++;
                    PlaySong(startnum);
               
                

            }

          
        }
这样可以实现自动播放下一曲,但是只要已停止他就自动下一曲,自己做停止按钮,可以把计时器设置为不可用,如何处理让WindowsMediaPlayer的停止按钮按下以后,不自动下一曲。
2011-11-25 17:20
快速回复:自动播放下一曲问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016872 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved