C语言PlaySound函数使用方法

 更新时间:2021年12月07日 10:06:40   作者:流浪孤儿  
这篇文章介绍了C语言PlaySound函数的使用方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1 用法

PlaySound是windows中用来播放声音的API函数,

函数接口如下: 

BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound) 

2 参数

其中pszSound用来指定要播放的文件,可以是资源名或者音乐文件的路径,若为空(NULL)则停止正在播放的声音。PlaySound只能播放WAV文件。 

hmod一般设置为空(NULL),除非你要指向资源标识符(即fdwSound被定义为SND_RESOURCE)。 

fdwSound用来指定播放模式,参数如下: 

SND_APPLICATION 

用应用程序指定的关联来播放声音。

SND_ALIAS 

pszSound参数指定了注册表或WIN.INI中的系统事件的别名。

SND_ALIAS_ID 

pszSound参数指定了预定义的声音标识符。

SND_ASYNC 

用异步方式播放声音,PlaySound函数在开始播放后立即返回。

SND_FILENAME 

pszSound参数指定了WAVE文件名。

SND_LOOP 

重复播放声音,必须与SND_ASYNC标志一块使用。

SND_MEMORY 

播放载入到内存中的声音,此时pszSound是指向声音数据的指针。

SND_NODEFAULT 

不播放缺省声音,若无此标志,则PlaySound在没找到声音时会播放缺省声音。

SND_NOSTOP 

PlaySound不打断原来的声音播出并立即返回FALSE。

SND_NOWAIT 

如果驱动程序正忙则函数就不播放声音并立即返回。

SND_PURGE 

停止所有与调用任务有关的声音。若参数pszSound为NULL,就停止所有的声音,否则,停止pszSound指定的声音。

SND_RESOURCE 

pszSound参数是WAVE资源的标识符,这时要用到hmod参数。

SND_SYNC 

同步播放声音,在播放完后PlaySound函数才返回。

SND_SYSTEM 

如果是背景窗口,当这个标志被设置,声音是分配到音频会议系统通知的声音。系统音量控制程序(sndvol)显示音量滑块控制系统通知的声音。设置该标志将下控制音量滑块。如果没有设置该标志,声音是分配到默认的音频会议的应用进程。

3 头文件与静态文件

#include <Windows.h>

#include<mmsystem.h>

#pragma comment(lib,"Winmm.lib")

4 音乐路径

到此这篇关于C语言PlaySound函数使用方法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 如何通过wrap malloc定位C/C++的内存泄漏问题

    如何通过wrap malloc定位C/C++的内存泄漏问题

    用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路。
    2021-05-05
  • 浅谈do {...} while (0) 在宏定义中的作用

    浅谈do {...} while (0) 在宏定义中的作用

    下面小编就为大家带来一篇浅谈do {...} while (0) 在宏定义中的作用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C++之内存泄漏排查详解

    C++之内存泄漏排查详解

    这篇文章主要介绍了c++ 如何排查内存泄漏,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下,希望能够给你带来帮助
    2021-10-10
  • C++内存管理介绍

    C++内存管理介绍

    这篇文章主要介绍了C++内存管理,C++标准委员会给我们提供了auto_ptr智能指针,后面又引入了share_ptr以及weak_ptr帮助我们正确和安全的使用指针,本文主要是介绍boost库提供的解决方案,需要的朋友可以参考一下
    2022-01-01
  • c++ 成员函数与非成员函数的抉择

    c++ 成员函数与非成员函数的抉择

    尽量用类的非成员函数以及友元函数替换类的成员函数 例如一个类来模拟人People
    2013-01-01
  • Qt利用ffmpeg实现音视频同步

    Qt利用ffmpeg实现音视频同步

    这篇文章主要为大家详细介绍了Qt如何利用ffmpeg实现音视频同步的功能,文中的示例代码讲解详细,对大家深入了解Qt有一定的帮助,需要的可以参考一下
    2023-01-01
  • C++多继承同名隐藏实例详细介绍

    C++多继承同名隐藏实例详细介绍

    多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类..本文将对C++多继承同名隐藏实例进行分析
    2012-11-11
  • 在vscode中快速新建html文件的2种方法总结

    在vscode中快速新建html文件的2种方法总结

    这篇文章主要给大家介绍了关于在vscode中快速新建html文件的2种方法,以及如何快速打开HTML文件查看编辑效果的方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • C/C++ break和continue区别及使用方法

    C/C++ break和continue区别及使用方法

    这篇文章主要介绍了C/C++ break和continue区别及使用方法的相关资料,需要的朋友可以参考下
    2017-07-07
  • 从C语言过渡到C++之基本变化

    从C语言过渡到C++之基本变化

    在之前的C++代码训练营系列中,我试图用完成具体项目的方式给大家介绍C++,但后来大家反馈说这样从C过渡到C++有点跟不上。于是我又专门设计了这个《从C到C++》的过渡专题,我准备通过10篇文章介绍一下C++和C的重要区别。
    2017-07-07

最新评论