一个非常简单的 MP3 播放器






4.62/5 (51投票s)
2001年6月14日

628779

10674
一个简单的 MP3/AVI 播放器,使用 VFW32 库
引言
我制作了一个小示例程序,它使您能够在无需 AUDIOX 库的情况下播放 MP3 文件。我使用了 Windows 库 VFW32.Lib
只需将 VFW32.lib 放在链接器的空间中(Alt +F7),并添加
#include "vfw.h"
到您的主文件中。
完成此操作后,您只需要使用 MCI 命令
步骤
- 创建一个私有变量 HWND m_Video 和 BOOL Pause;
- 在 OnInitDialog 中设置 m_Video = NULL;
- 放置几乎所有的“播放”按钮,并在此处添加源代码
以下是我在对话框类中用于播放/暂停/恢复和停止视频播放的函数。
m_Play 是“播放”按钮控件,m_Pause 是暂停/恢复按钮,Pause 是一个布尔值,而 m_Video 是一个 HWND
。
void CAVIPlayerDlg::OnPlay() { m_Video = NULL; if(m_Video == NULL) { m_Video = MCIWndCreate(this->GetSafeHwnd(), AfxGetInstanceHandle(), WS_CHILD | WS_VISIBLE|MCIWNDF_NOMENU,m_Path); } else { MCIWndHome(m_Video); } MCIWndPlay(m_Video); Pause = FALSE; m_Play.EnableWindow(FALSE); } void CAVIPlayerDlg::OnPause() { if(Pause) { m_Pause.SetWindowText("Pause"); MCIWndResume(m_Video); Pause = FALSE; } else { m_Pause.SetWindowText("Resume"); MCIWndPause(m_Video); Pause = TRUE; } } void CAVIPlayerDlg::OnCancel() { if(m_Video !=NULL) { MCIWndDestroy(m_Video); OnOK(); } CDialog::OnCancel(); } void CAVIPlayerDlg::OnStop() { // TODO: Add your control notification handler code here MCIWndStop(m_Video); if(m_Video !=NULL) { MCIWndDestroy(m_Video); } m_Play.EnableWindow(TRUE); }
我建议您参考网络上的 MCI 参考:http://msdn.microsoft.com/library/psdk/multimed/mciwnd_3stv.htm
我还在这个程序中包含了一个 AVI 播放器。:-)
这就是全部!