南野 发表于 2008-6-20 18:42:02

如何播放WAV文件?有几种方法?

目前按照例子做了一个使用MCI播放wav的方法,但是在我的程序里运行不了

#include "MCI32.h"
#include <utility.h>
#include <cvirte.h>               
#include <userint.h>
#include "playsound.h"

static CAObjHandle objectHandle;

static int panelHandle;

int main (int argc, char *argv[])
{
        if (InitCVIRTE (0, argv, 0) == 0)
                return -1;        /* out of memory */
        if ((panelHandle = LoadPanel (0, "playsound.uir", PANEL)) < 0)
                return -1;
        GetObjHandleFromActiveXCtrl (panelHandle, PANEL_MMCONTROL, &objectHandle);
        DisplayPanel (panelHandle);
        RunUserInterface ();
        DiscardPanel (panelHandle);
        return 0;
}

int CVICALLBACK Panel (int panel, int event, void *callbackData,
                int eventData1, int eventData2)
{
        switch (event)
        {
                case EVENT_CLOSE:
                        MCI_ImciSetCommand(objectHandle, NULL, "close");
                        QuitUserInterface (0);
                        break;
        }
        return 0;
}

int CVICALLBACK Play (int panel, int control, int event,
                void *callbackData, int eventData1, int eventData2)
{
       
        char pathname;
        GetDir (pathname);
        strcat (pathname, "\\pass.wav");
        switch (event)
        {
                case EVENT_COMMIT:
                        MCI_ImciSetCommand(objectHandle, NULL, "close");
                        MCI_ImciSetFileName (objectHandle, NULL, pathname);
                        MCI_ImciSetCommand (objectHandle, NULL, "play");
                        Delay (2);
                        break;
        }
        return 0;
}

表现是点击界面paly 程序没任何反应
同时想请教一下有没有别的方法可以播放wav的?

[ 本帖最后由 南野 于 2008-6-20 18:45 编辑 ]

cpubbs 发表于 2008-6-20 19:13:57

最好能上传个程序,兄弟!这样直接贴代码,没有办法调试的,因为没有UIR等相关的东西不容易调!

cpubbs 发表于 2008-6-20 19:14:30

可以用ACTIVEX来播放WAV!就是MEDIA那个ACTIVEX来播是可以的!

南野 发表于 2008-6-20 19:54:51

代码来了

cpubbs 发表于 2008-6-20 21:20:47

我用那个ACTIVEX做过视频播放!呵呵,这个WAV的应该是一样的!我下载下来瞧瞧再说!

cpubbs 发表于 2008-6-20 21:24:38

怪了,我这里说一个ACTIVEX控件找不到,但是这个控件在前面板上面也找不到!

cpubbs 发表于 2008-6-20 21:27:34

应该要插入一个ACTIVEX控件才行,兄弟您放的是一个TEXT!您这个例子是从哪里来的呢?

南野 发表于 2008-6-20 23:08:53

控件在activex里,名字是 Microsoft Mutil Media Control 6.0

南野 发表于 2008-6-20 23:54:08

晕死....
文件名没写对....
服了自己了

cpubbs 发表于 2008-6-21 09:09:49

没有插入控件呀兄弟,里面的是TEXT的文字,您是不是写错了呢?ACTIVEX不用自己输入名字的,要将ACTIVEX那个东东放到前面板,然后再生成它的驱动才可以正式使用!

南野 发表于 2008-6-21 21:30:05

对应该就是生成驱动的问题了
再试了一次 可以了现在
页: [1]
查看完整版本: 如何播放WAV文件?有几种方法?