playsound,playsoundA函数的使用

本文主要介绍playsound以及playsoundA函数的初级用法

语言:C++

环境:win7  MFC

程序逻辑: mfc下,两个button控件,一个负责打开wav、wave格式文件,另一个按钮则播放。播放键,点击奇数次,音频文件播放一次。点击偶数次,则循环播放此音频。

 

第一步:.h文件(添加lib库及引用相应的.h文件)

#include <mmsystem.h> 
#pragma comment(lib, "winmm.lib") //由于是系统本身就有,所以直接这样写就可以了。不要去真的找到winmm.lib文件。
public:

    afx_msg void OnBnClickedButton1();//打开文件 button事件
    CString filepath;//全局变量;打开文件时,用于保存wav(or wave)文件父路径
    CString filename;//全局变量;保存文件名。由于playsound函数需要wav文件路径。所以filepath和filename需要保存。
    afx_msg void OnBnClickedButton2();//播放操作 button事件
    int num; //全局变量;button2控件点击奇偶次计数位

 

第二步:.cpp文件

void Cplaysound2Dlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    CFileDialog         dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,"WAV(*.wav) |*wav|WAVE(*.wave)|*.wave",NULL);
    if (dlg.DoModal()!=FALSE)
    {
        filepath=dlg.GetFolderPath();
        filename=dlg.GetFileName();
        num=0;
    }
}
void Cplaysound2Dlg::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    CString str;
    str+=filepath+"\\"+filename;//合成wav、wave音频文件存在路径。
    num++;
    if (num%2==1) //奇数次点击,播放一次
    {
        PlaySoundA(str,NULL,NULL);//函数PlaySoundA   。第一个参数为路径,也可以添加绝对路径:    如“C:\Users\Administrator\Desktop\CS音效\MSG.wav”  
    }
    if (num%2==0) //偶数次点击,循环播放
    {
        PlaySound(str, NULL, SND_FILENAME | SND_ASYNC|SND_LOOP);//LOOP是循环的意思
    }
    return;
}

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值