找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1639|回复: 10

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

[复制链接]
发表于 2008-6-20 18:42:02 | 显示全部楼层 |阅读模式
目前按照例子做了一个使用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[MAX_PATHNAME_LEN];
        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 编辑 ]
发表于 2008-6-20 19:13:57 | 显示全部楼层
最好能上传个程序,兄弟!这样直接贴代码,没有办法调试的,因为没有UIR等相关的东西不容易调!
回复 顶

使用道具 举报

发表于 2008-6-20 19:14:30 | 显示全部楼层
可以用ACTIVEX来播放WAV!就是MEDIA那个ACTIVEX来播是可以的!
回复 顶

使用道具 举报

 楼主| 发表于 2008-6-20 19:54:51 | 显示全部楼层
代码来了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 顶

使用道具 举报

发表于 2008-6-20 21:20:47 | 显示全部楼层
我用那个ACTIVEX做过视频播放!呵呵,这个WAV的应该是一样的!我下载下来瞧瞧再说!
回复 顶

使用道具 举报

发表于 2008-6-20 21:24:38 | 显示全部楼层
怪了,我这里说一个ACTIVEX控件找不到,但是这个控件在前面板上面也找不到!
回复 顶

使用道具 举报

发表于 2008-6-20 21:27:34 | 显示全部楼层
应该要插入一个ACTIVEX控件才行,兄弟您放的是一个TEXT!您这个例子是从哪里来的呢?
回复 顶

使用道具 举报

 楼主| 发表于 2008-6-20 23:08:53 | 显示全部楼层
回复 顶

使用道具 举报

 楼主| 发表于 2008-6-20 23:54:08 | 显示全部楼层
回复 顶

使用道具 举报

发表于 2008-6-21 09:09:49 | 显示全部楼层
没有插入控件呀兄弟,里面的是TEXT的文字,您是不是写错了呢?ACTIVEX不用自己输入名字的,要将ACTIVEX那个东东放到前面板,然后再生成它的驱动才可以正式使用!
回复 顶

使用道具 举报

 楼主| 发表于 2008-6-21 21:30:05 | 显示全部楼层
对应该就是生成驱动的问题了
再试了一次 可以了现在
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-28 17:05 , Processed in 0.060478 second(s), 11 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表