南屏山敲钟人 2015-05-30 04:35 采纳率: 0%
浏览 2514
已采纳

设备的名称已被此应用程序用作别名,请使用唯一的别名

在用MFC运行MP3 播放一个文件成功后想换一个文件播放再点击就会出现这个问题
在论坛上搜到以前的回答说修改delphi根目录下的东西,但是我并没有装过delphi
怎么解决??放下代码:

 void CMediaBigProjectDlg::OnBnClickedPlaybtn()
{
    // TODO:  在此添加控件通知处理程序代码    
    MCI_PLAY_PARMS close;
    CString str;
    str = playlist[m_list.GetCurSel()];

    char buf[256],szErr[256];
    MCI_OPEN_PARMS mciOpen;
    MCIERROR err;
    mciOpen.lpstrDeviceType = TEXT("mpegvideo");
    mciOpen.lpstrElementName = (wchar_t*)_bstr_t(str);  //CString 转宽字符
    err = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, (DWORD)&mciOpen);
    if (err == 0)
    {
        MCI_PLAY_PARMS open;
        MCI_PLAY_PARMS play;
        play.dwFrom = 0;
        play.dwCallback = NULL;
        mciSendCommand(mciOpen.wDeviceID, MCI_PLAY, 0, (DWORD)&play);
    }
    else
    {
        mciGetErrorString(err, (LPWSTR)szErr, 100);
        MessageBox((LPWSTR)szErr);
    }
}
  • 写回答

1条回答 默认 最新

  • devmiao 2015-05-30 04:42
    关注

    发送MCI_CLOSE
    mciSendCommand (m_wDeviceID, MCI_CLOSE, NULL, NULL);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同