可以用MFC制作。以前我们只学过一点点,全是API之类的。最好能给出制作步骤和过程。谢了!

解决方案 »

  1.   

    网上到处都是,去codeproject或者codeguru下载一个例子改一下就行了
      

  2.   

    音频播放器MCIPlayer的源代码 详细信息 < 音频技术 >  本播放器运用了高层音频服务媒体控制接口MCI,支持WAV,MID,MP3,VCD,AVI,CD,MPEG等全部WINDOWS支持的文件格式。[代码性质] VC完整应用程序代码
    [代码作者] 黄利龙
    [文件大小] 49K 
    [更新日期] 2003-6-12 19:39:00 
    [下载次数] 3868  去
    http://www.vckbase.com/code/listcode.asp?mclsid=7&sclsid=707
    下载吧!
      

  3.   

    用google 搜索一下,网上很多的,下载一个,自己再添加修改一些功能,我想就基本搞定了,^_^。
      

  4.   

    http://expert.csdn.net/Expert/topic/2067/2067485.xml?temp=.4053614
      

  5.   

    各位大哥,我在那个网站上下了几个程序,但都报同样的一个错误。如下:
    c:\program files\microsoft visual studio\vc98\include\mmsystem.h(3743) : fatal error C1070: mismatched #if/#endif pair in file 'c:\program files\microsoft visual studio\vc98\include\mmsystem.h'
    是不是VC的系统有问题啊?
    还有一般说来VC下的include 里面应该有一个“stdafx.h”的文件,可是在机子里却没有。
      

  6.   

    IGraphBuilder * pGraph;
    IMediaControl *pMediaControl;
    IMediaPosition *pMediaPos;
    IMediaEvent   *pEvent;
    IVideoWindow    *pVW = NULL;
    ***********************************************  
      REFTIME length;
    WCHAR  path[MAX_PATH];
    CButton *button1= (CButton *)GetDlgItem(IDC_BUTTON1);
    if(button1)
    {
    button1->EnableWindow(FALSE);
    } TCHAR filepath[MAX_PATH];
    strcpy(filepath,szFilename);
        MultiByteToWideChar(CP_ACP, 0, filepath, -1, path, MAX_PATH); CoInitialize(NULL);
    HRESULT hr = CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void **)&pGraph);

    if(FAILED(hr))
    {
    AfxMessageBox("DirectShow initialize failed!");
    return;
    }
    else 
    {
    pGraph->QueryInterface(IID_IVideoWindow, (void **)&pVW);

    pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);

    pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);

    pGraph->QueryInterface(IID_IMediaPosition,(void **)&pMediaPos);
       pGraph->RenderFile(path, NULL);

    pMediaPos->get_Duration(&length); pVW->put_Owner((OAHWND)m_hWnd);
    hr = pVW->put_MessageDrain((OAHWND)m_hWnd);

    pVW->put_WindowStyle(WS_CHILD|WS_CLIPSIBLINGS);
    pVW->SetWindowPosition(0,0,472,320); pMediaControl->Run();
    }
    pGraph->Release();
             CoUninitialize();
      

  7.   

    用API主要代码如下
    打开并播放:
      mcexe("open e:\\mp3.mp3 alias PLAYMAX");
      mcexe("play PLAYMAX");
    关闭:
      mcexe("close PLAYMAX");
      

  8.   

    insert "Windows Media Player" object 即可, 不到半小时搞定。
      

  9.   

    用Direct Show,如下:
    需要DirectX SDK
    IGraphBuilder * pGraph;
    IMediaControl *pMediaControl;
    IMediaPosition *pMediaPos;
    IMediaEvent   *pEvent;
    IVideoWindow    *pVW = NULL;
    ***********************************************  
      REFTIME length;
    WCHAR  path[MAX_PATH];
    CButton *button1= (CButton *)GetDlgItem(IDC_BUTTON1);
    if(button1)
    {
    button1->EnableWindow(FALSE);
    } TCHAR filepath[MAX_PATH];
    strcpy(filepath,szFilename);
        MultiByteToWideChar(CP_ACP, 0, filepath, -1, path, MAX_PATH); CoInitialize(NULL);
    HRESULT hr = CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void **)&pGraph);

    if(FAILED(hr))
    {
    AfxMessageBox("DirectShow initialize failed!");
    return;
    }
    else 
    {
    pGraph->QueryInterface(IID_IVideoWindow, (void **)&pVW);

    pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);

    pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);

    pGraph->QueryInterface(IID_IMediaPosition,(void **)&pMediaPos);
       pGraph->RenderFile(path, NULL);

    pMediaPos->get_Duration(&length); pVW->put_Owner((OAHWND)m_hWnd);
    hr = pVW->put_MessageDrain((OAHWND)m_hWnd);

    pVW->put_WindowStyle(WS_CHILD|WS_CLIPSIBLINGS);
    pVW->SetWindowPosition(0,0,472,320); pMediaControl->Run();
    }
    pGraph->Release();
             CoUninitialize();