目前位置: VCer资源中心 >>> VCer论坛 >>> 技术问答

[本帖已阅读3982次 分值80 回复5次] 张贴资源 发回信箱 控制面板

使用API播放.wav文件,出现 : unresolved external symbol __imp__mciSendCommandA@16错误,怎么回事?

提供者:scape0812 张贴时间:2004-09-01 22:25:45.0 出处:vcer.net 作者:不祥

使用API播放.wav文件,出现 : unresolved external symbol __imp__mciSendCommandA@16错误,怎么回事?(2004-09-01 22:25:45.0)


黑眼睛


 
级别: VCer小兵
头衔: VCer会员

经验: 149
作品: 7
分会: 华北分会
注册: 2004-09-01 20:25:17.0
登录: 2004-11-15 16:25:17.0
void CChildView::OnPlayWav()

{

 // TODO: Add your command handler code here

 WORD m_wDeviceID;     

 MCI_OPEN_PARMS mciOpenParms;

 mciOpenParms.lpstrDeviceType="waveaudio";

 mciOpenParms.lpstrElementName="c:\\process.wav";   

 if(mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mciOpenParms)){

("c:\\process.wav",lpstrRtnString,wRtnLength,NULL)

  MessageBox("调用失败","failed",MB_OK);//调用失败

  return;

 }

 else //调用成功,播放

 {

  m_wDeviceID=mciOpenParms.wDeviceID;

  MessageBox("调用成功","success",MB_OK);

  

  MCI_PLAY_PARMS mciPlayParms;

  if(mciSendCommand(m_wDeviceID,MCI_PLAY,MCI_NOTIFY,(DWORD)(LPVOID)&mciPlayParms)){

   //关闭

   mciSendCommand(m_wDeviceID,MCI_CLOSE,0,NULL); 

  }

  return;

 }     

}

注:转载文章需注明来源:VCer.net 文章地址:http://vcer.net/3133.html

  如果你觉得VCer.net不错,而且你愿意为VCer.net捐赠一元钱,那么点击后面的捐赠按钮吧:) vcer.net捐赠

[回复该贴] [加入个人书签]

re:使用API播放.wav文件,出现 : unresolved external symbol __imp__mciSendCommandA@16错误,怎么回事?

音频方面的东西加了都够用comctl32.lib dxerr9.lib winmm.lib dsound.lib dxguid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

下面我做的一个东西,头文件和代码:

#include <mmsystem.h>

#include <dsound.h>

#pragma comment (lib,"dsound.LIB")

#pragma comment (lib,"dxguid.LIB")

void Sound2::PlayMidi()

{

 UINT wDeviceID;

 DWORD dwReturn;

 MCI_OPEN_PARMS mciOpenParms;

 MCI_PLAY_PARMS mciPlayParms;

 MCI_STATUS_PARMS mciStatusParms;

 MCI_SEQ_SET_PARMS mciSeqSetParms;

 mciOpenParms.lpstrDeviceType="sequencer";

 mciOpenParms.lpstrElementName="E:\\fan\\hurrican.mid"  ;           //MIDI name

 if(dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(DWORD)(LPVOID) &mciOpenParms))

 {

    //MessageBox("ERROR");

      return;

 }

 

 wDeviceID =mciOpenParms.wDeviceID;

 mciStatusParms.dwItem=MCI_SEQ_STATUS_PORT;

 if(dwReturn=mciSendCommand(wDeviceID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)(LPVOID)&mciStatusParms))

 {

  mciSendCommand(wDeviceID,MCI_CLOSE,0,NULL);

  return ;

 }

 if(LOWORD(mciStatusParms.dwReturn)!=MIDI_MAPPER)

 {

 // if(MessageBox("midi map not exist ,return?")

 // {

 //  mciCommand(wDeviceID,MCI_CLOSE,0,NULL);

 //  return (0L);

 // }

 }

  mciPlayParms.dwCallback=(DWORD)AfxGetApp()->GetMainWnd();

  if(dwReturn=mciSendCommand(wDeviceID,MCI_PLAY,MCI_NOTIFY,(DWORD)(LPVOID)&mciPlayParms))

  {

   mciSendCommand(wDeviceID,MCI_CLOSE,0,NULL);

   return ;

  }

  return ;

}

sinbud 于 2006-04-16 16:22:45.0 编辑 [回复该贴]

re:使用API播放.wav文件,出现 : unresolved external symbol __imp__mciSendCommandA@16错误,怎么回事?
(vc menu)“project”->"settings..."->"link" tab->"Object/library module" add "Winmm.lib"

youthszq 于 2004-09-09 14:44:17.0 编辑 [回复该贴]

re:使用API播放.wav文件,出现 : unresolved external symbol __imp__mciSendCommandA@16错误,怎么回事?
多谢,可是如何把这个库文件加入我的程序中呢?

scape0812 于 2004-09-03 17:20:34.0 编辑 [回复该贴]

re:使用API播放.wav文件,出现 : unresolved external symbol __imp__mciSendCommandA@16错误,怎么回事?
需要link Winmm.lib

boyren 于 2004-09-02 18:21:26.0 编辑 [回复该贴]

re:使用API播放.wav文件,出现 : unresolved external symbol __imp__mciSendCommandA@16错误,怎么回事?
高手呢?回答一下吧

scape0812 于 2004-09-02 11:48:39.0 编辑 [回复该贴]