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);
    }

     
  • 相关阅读:
    Eclipse汉化
    Sublime Text 3 插件安装
    HTML5中canvas的save和restore方法
    No module ata_piix found的解决方法
    在虚拟机和主机之间共享文件夹
    C语言:文件操作
    ubuntu下的第一个脚本file.sh
    解析java源文件
    Compile Java Codes in Linux Shell instead of Ant Script
    Eclipse的XML编辑器解决方案
  • 原文地址:https://www.cnblogs.com/Master-Qi/p/13967802.html
Copyright © 2011-2022 走看看