小弟在作一个MP3播放器的过程中遇到这样的问题:
如果用CFileDialog获取多个MP3文件地址就无法播放。但如果只添加一个MP3文件则能播放。请大家帮小弟分析一下是什么原因呢?我该如何来修改呢?
谢谢哦。
void CMp3PlayerDlg::OnPlay()
{
//m_Audio是已经定的HWND窗口句柄
m_Audio = NULL;
if(m_Audio == NULL)
{
m_Audio = MCIWndCreate(this->GetSafeHwnd(),
AfxGetResourceHandle(),
WS_CHILD | WS_VISIBLE|MCIWNDF_NOMENU,m_Path);
m_Status.SetWindowText(_T("Playing..."));
}
else
{
MCIWndHome(m_Audio);
}
MCIWndPlay(m_Audio);
Pause = FALSE;
m_Play.EnableWindow(TRUE);
}
bool CMp3PlayerDlg::OpenFiles(bool bListAdd)
{
//打开文件并添加到播放列表
CFileDialog FileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR,
"MP3 Files (*.mp3)|*.mp3|");
if(FileDlg.DoModal()!=IDOK)
return FALSE;
if(!bListAdd)
m_List.ResetContent();
POSITION pos=FileDlg.GetStartPosition();
CString lpszFile;
lpszFile=FileDlg.GetNextPathName(pos);
while(1)
{
m_List.AddString(lpszFile);
if(!pos) break;
lpszFile=FileDlg.GetNextPathName(pos);
}
m_iList=0;
m_totalFiles=m_List.GetCount();
m_Path = FileDlg.GetPathName();
UpdateData(FALSE);
return TRUE;
}
//刚学会C++。兴奋之中。夜不想寐。在线等大家的指导。呵呵。
[求助]一个CFileDialog获取的文件地址的问题