要做一个播放MP3及WAV文件的DLL(WAV文件不大(<10M),不能用MFC。
请问该如何写呢?需要什么库和h文件?
谢谢!

解决方案 »

  1.   

    #include <VFW.H>
    #pragma comment(lib,"vfw32.lib")HWND m_Audio1 = MCIWndCreate(this->GetSafeHwnd(), 
                    AfxGetInstanceHandle(), 
                    WS_CHILD|MCIWNDF_NOMENU,"C:\\1.wma"); 
    HWND m_Audio2 = MCIWndCreate(this->GetSafeHwnd(), 
                    AfxGetInstanceHandle(), 
                    WS_CHILD|MCIWNDF_NOMENU,"C:\\2.mp3"); 
    MCIWndPlay(m_Audio1);
    MCIWndPlay(m_Audio2);
      

  2.   

    非MFC:
    #include <VFW.H>
    #pragma comment(lib,"vfw32.lib")HWND m_Audio1 = MCIWndCreate(m_hWnd, 
                    NULL, 
                    WS_CHILD|MCIWNDF_NOMENU,"C:\\1.wma"); 
    MCIWndPlay(m_Audio1);
      

  3.   

    谢谢啊。还是不行呢。
    说m_hWnd没有定义的。
      

  4.   

    m_hWnd 指定为它的父窗口句柄,没有的话,可指定为::GetDesktopWindow()
      

  5.   

    我用这样来调用:
    HWND m_Audio1 = MCIWndCreate(NULL, 
                    NULL, 
                    WS_CHILD|MCIWNDF_NOMENU,"C:\\1.mp3");但运行后,没有发声音。
      

  6.   

    HWND MCIWndCreate(
      HWND hwndParent,       //这里不能指定为NULL!
      HINSTANCE hInstance,  
      DWORD dwStyle,        
      LPSTR szFile          
    );
      

  7.   

    我用了::GetDesktopWindow()
    HWND m_Audio1 = MCIWndCreate(::GetDesktopWindow(), 
                    NULL, 
                    WS_CHILD|MCIWNDF_NOMENU,"C:\\1.mp3");可还是没声音啊
      

  8.   

    请大家看看,我的代码是不是有问题:
    #include "stdafx.h"#include<windows.h>
    #include<stdio.h>#include <VFW.H>
    #pragma comment(lib,"vfw32.lib")
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
      // TODO: Place code here.
    HWND m_Audio1 = MCIWndCreate(::GetDesktopWindow(), 
                    NULL, 
                    WS_CHILD|MCIWNDF_NOMENU,"D:\\1.mp3"); 
    MCIWndPlay(m_Audio1);
    return 0;
    }谢谢啊
      

  9.   

    my god, 程序一运行就结束了,能出声音才怪...
    return 0;前加个消息循环:MSG msg;
    while(GetMessage(&msg,0,0,0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }