zoukankan      html  css  js  c++  java
  • C++ Builder播放铃声

    今天在给软件添加提示音的时候,发现以前可以使用的代码不起作用了,搞了半天才发现是资源文件内容格式写错了。

    比较好一点的做法如下:

    rc文件内容:

      

    OK wav "F:/OK.WAV"

    使用代码如下:

    #include <mmsystem.h>  

    #pragma resource "***.res"  =>(**为你自己的资源名称)

    
    

    //装入Wav文件
    HRSRC reshandle = FindResource(HInstance,soundName,__T("WAV"));
    if (reshandle != NULL) {
    HGLOBAL hglobal = LoadResource(HInstance, reshandle);

    
    

    if (hglobal != NULL) {
    const void* wav_handle = LockResource(hglobal);
    //播放Wav文件,由于Wav文件装载在内存中,sndPlaySound函数要用SND_MEMORY参数
    if (wav_handle != NULL) {
    sndPlaySound((wchar_t*)wav_handle, SND_MEMORY | SND_NODEFAULT | SND_SYNC);
    UnlockResource(hglobal);
    }

    
    

    FreeResource(hglobal);
    }
    }

     

     这样就没问题了,ヾ(◍°∇°◍)ノ゙

    二、打开、播放、暂停、关闭音乐

    
    

    //加载音乐
    void MCIVoiceOpen()
    {
    mciSendString(__T("open ./Sounds/bgm.mp3 alias bgm"), NULL, 0, NULL);

    
    

    }

    
    

    //播放音乐
    void MCIVoiceStart()
    {
    mciSendString(__T("play bgm"), NULL, 0, NULL);
    }

    
    

    //停止播放音乐
    void MCIVoiceStop()
    {
    mciSendString("stop bgm", NULL, 0, NULL);
    }

    
    

    //关闭音乐播放
    void MCIVoiceClose()
    {
    mciSendString("close bgm", NULL, 0, NULL);
    }

     
  • 相关阅读:
    mtd-utils 工具的使用
    nand flash坏块管理OOB,BBT,ECC
    Ubifs Support
    linux 关闭显示器命令
    玩转shell之符号篇
    shell中的cut命令
    【详解】如何编写Linux下Nand_Flash驱动_v1.2
    Nand 的几个名词:oob,bbt,ecc
    mtd-utils 及 ubi-utils 交叉编译
    UBIFS分区制作及UBIFS烧写和启动
  • 原文地址:https://www.cnblogs.com/Master-Qi/p/13967802.html
Copyright © 2011-2022 走看看