设为首页 加入收藏

TOP

26.1.7 开发具有记忆功能的MP3播放器
2013-10-07 13:11:45 来源: 作者: 【 】 浏览:65
Tags:26.1.7 开发 具有 记忆 功能 MP3 播放器

26.1.7  开发具有记忆功能的MP3播放器

通过MCIWndGetPosition()宏接收当前MCI设备的播放位置,可以实现具有记忆功能的MP3播放器。宏原型为:

  1. LONG MCIWndGetPosition( hwnd ); // 指定MCIWnd对话框的句柄 

此函数的返回值为当前位置值。MCIWndGetLength()函数可以返回正在播放的文件的长度。MCIWndGetPosition()函数可以返回播放的MP3文件的当前位置。MCIWndStop()函数可以停止当前播放文件。MCIWndDestroy()函数可以关闭指定的MCIWnd对话框。下面的代码使用这些函数,实现一个具有记忆功能的MP3播放器。

  1. void CSoundSampleDlg::OnButtonPlaymp3()         // 具
    有记忆功能的MP3播放器  
  2. {  
  3.     int type=0;  
  4.     if (m_hWndMCI == NULL)                      // 判
    断MCI句柄是否为NULL  
  5.     {  
  6.         fileName="雨中节奏.mp3";                    // 赋值mp3文件名  
  7.         // 创建MIDI播放器  
  8.         m_hWndMCI=MCIWndCreate(m_hWnd, AfxGetInstanceHandle(), type,  
  9.         fileName);  
  10.         MCIWndPlay(m_hWndMCI);                  // 启用MIDI播放器  
  11.         return;  
  12.     }  
  13.     // 为MIDI播放器设置新文件名  
  14.     m_hWndMCI=MCIWndCreate(m_hWnd,AfxGetInstanceHandle(), 
    type, fileName);  
  15.     long nLength = MCIWndGetLength(m_hWndMCI);            
    // 获取文件长度  
  16.     MCIWndPlayFromTo(m_hWndMCI, m_lPosition, nLength);    
    // 定位播放  
  17. }  
  18. void CSoundSampleDlg::OnButtonStopmp3()                  
    // 停止播放MP3  
  19. {   //停止播放MP3  
  20.     MCIWndGetFileName(m_hWndMCI, fileName.GetBuffer(1000), 1000);  
  21.                                                          
    // 获取文件名  
  22.     m_lPosition = MCIWndGetPosition(m_hWndMCI); 
    // 获取当前播放的位置  
  23.     MCIWndStop(m_hWndMCI);                           
    // 停止播放  
  24.     MCIWndDestroy(m_hWndMCI);                        
    // 销毁MIDI播放器  

上面代码中OnButtonPlaymp3()函数实现播放MP3文件的功能。其中会首先判断是否打开过播放器,如果第一次打开播放器,则会初始化播放的文件为"雨中节奏.mp3",并从头开始播放;如果不是第一次打开播放器,则会打开上次关闭时播放的文件,并从上次关闭时播放到的位置开始播放MP3文件。OnButtonStopmp3()函数是停止播放按钮的处理函数。关闭MCIWnd对话框之前,记录正在播放的MP3文件和当前的播放位置,并停止播放MP3文件。这样,在播放MP3文件后,再次打开时,会从上次停止的位置开始播放MP3文件。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇26.1.3 控制音量 下一篇26.3.2 通过DrawIcon()函数实现图..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: