可以用mci(多媒体控制接口)啊!

解决方案 »

  1.   

    mciSendCommand 
    如何循环播放音乐
      

  2.   

    mciSendCommand 
    如何循环播放单首音乐
    有高手解答一下吗
      

  3.   

    char   buf[128];   
    //use   mciSendString()   
    //mciSendString("play   e:\\songs\\把根留住.mp3",buf,sizeof(buf),NULL);   
    //mciSendString("play   e:\\songs\\zhj.mp3",buf,sizeof(buf),NULL);   
    //char   str[128]   =   {0};   
    //int   i   =   0;   
        
    //use   mciSendCommand   
    MCI_OPEN_PARMS   mciOpen;   
    MCIERROR   mciError;   
    //mciOpen.lpstrDeviceType   =   (LPCTSTR)MCI_ALL_DEVICE_ID;   
    //mciOpen.lpstrDeviceType   =   "waveaudio";   //只能播放.wav文件   
    //mciOpen.lpstrDeviceType   =   "avivideo";     //*.avi   
    mciOpen.lpstrDeviceType   =   "mpegvideo";   
    //mciOpen.lpstrDeviceType   =   "sequencer";   
    mciOpen.lpstrElementName   =   "e:\\music\\forever.mp3";   
    //mciOpen.lpstrElementName   =   "e:\\movie\\first.avi";   
    //mciOpen.lpstrElementName   =   "c:\\winnt\\media\\Windows   登录音.wav";   
    mciError   =   mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE   |   MCI_OPEN_ELEMENT,(DWORD)&mciOpen);   
    if(mciError)   
    {   
    mciGetErrorString(mciError,buf,128);   
    MessageBox("send   MCI_PLAY   command   failed");    
    return;   
    }   
    UINT   DeviceID   =   mciOpen.wDeviceID   ;   
    MCI_PLAY_PARMS   mciPlay;    //mciError   =   mciSendCommand(DeviceID,MCI_PLAY,0   ,(DWORD)&mciPlay);   
    mciError   =   mciSendCommand(DeviceID, MCI_PLAY, MCI_FROM | MCI_TO | MCI_WAIT | MCI_DGV_PLAY_REPEAT, 
    (DWORD)   (LPMCI_PLAY_PARMS)&mciPlay); 
    if(mciError)   
    {   
    MessageBox("send   MCI_PLAY   command   failed");   
    return;   
    }   
       /*   
    while(1)   
    {   
    i++;   
    Sleep(1000);   
    }   
    */   
      

  4.   

    char   buf[128];   
    //use   mciSendString()   
    //mciSendString("play   e:\\songs\\把根留住.mp3",buf,sizeof(buf),NULL);   
    //mciSendString("play   e:\\songs\\zhj.mp3",buf,sizeof(buf),NULL);   
    //char   str[128]   =   {0};   
    //int   i   =   0;   
        
    //use   mciSendCommand   
    MCI_OPEN_PARMS   mciOpen;   
    MCIERROR   mciError;   
    //mciOpen.lpstrDeviceType   =   (LPCTSTR)MCI_ALL_DEVICE_ID;   
    //mciOpen.lpstrDeviceType   =   "waveaudio";   //只能播放.wav文件   
    //mciOpen.lpstrDeviceType   =   "avivideo";     //*.avi   
    mciOpen.lpstrDeviceType   =   "mpegvideo";   
    //mciOpen.lpstrDeviceType   =   "sequencer";   
    mciOpen.lpstrElementName   =   "e:\\music\\forever.mp3";   
    //mciOpen.lpstrElementName   =   "e:\\movie\\first.avi";   
    //mciOpen.lpstrElementName   =   "c:\\winnt\\media\\Windows   登录音.wav";   
    mciError   =   mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE   |   MCI_OPEN_ELEMENT,(DWORD)&mciOpen);   
    if(mciError)   
    {   
    mciGetErrorString(mciError,buf,128);   
    MessageBox("send MCI_PLAY command failed", "ERROR");    
    return;   
    }   
    UINT   DeviceID   =   mciOpen.wDeviceID   ;   
    MCI_PLAY_PARMS   mciPlay;    //mciError   =   mciSendCommand(DeviceID,MCI_PLAY,0   ,(DWORD)&mciPlay);  
    //MCI_FROM | MCI_TO | 
    mciError   =   mciSendCommand(DeviceID, MCI_PLAY, MCI_WAIT | MCI_DGV_PLAY_REPEAT, 
    (DWORD)   (LPMCI_PLAY_PARMS)&mciPlay);  //MCI_DGV_PLAY_REPEAT, 要 #include "Digitalv.h"
    if(mciError)   

    mciGetErrorString(mciError,buf,128);     
    MessageBox("send MCI_PLAY command failed", "ERROR");   
    return;   
    }   
       /*   
    while(1)   
    {   
    i++;   
    Sleep(1000);   
    }   
    */   
      

  5.   

     也可以使用directshow 来播放。 自己给mp3路径就可以了 
    自动智能播放。
      

  6.   

    学习了,最近在学用MCI来实现播放音频文件
    (WAV格式和MIDI格式)、
    以及视频文件(AVI格式) ,呵呵! 
      

  7.   

    其实VC里面有相应的控件的“ Windows Media Player",在对话框中打击右键。选择插入 ActiveX就可以找到这个控件,这个空间其实特别方面,就只有几个函数操作文件的打开、播放和停止了,具体的在MSDEN或者百度一下就好了。  这个空间可以播放mp3和mp4,效果与windows操作系统里面自带的windows media player差不多的