C语言播放器

简介: 用C语言播放数字音乐

本文的开头,先给大家介绍一下MIDI播放器

1672207795630.png

看完了没有,看完了就可以往下了。

开发思路:用纯C语言,用到微软给我们的库来实现播放音乐



首先,引入头文件

1672208381339.png

听音乐,需要加载库文件,以及选择音乐的声音大小和乐器。

然后写main函数

[SW6SQG99QII[YWBQ9AJ%OE.png

浪漫一点,屏幕显示开始演奏,然后调用playMusic函数,来完成程序的主体部分。


1672208400365.png

这里面就是播放器等主体部分,我们通过循环来播放一个字符。音乐嘛,中间有停顿的符号,我们用if语句来判断需要停顿的时间。

然后midOutshrotMsg函数就像是给声卡发出指令,根据参数值来播放声音的,微软的官方是这样解释的

1672208845443.png

根据这个理解图中 voice = (volumn << 16) + (trivial[i] << 8) + 0x90;//8-16表示音符,0x90为状态

的代码。

图中一行被注释的代码是用来实现音符音乐随机大小。

接下来就是音乐的部分,

音乐的部分就是数字乐谱。

我这里直接引用了一个头文件,就是trivial.h。

这个文件里面就是音乐乐谱。

1672209009520.png

这个头文件是我问别人要的,我不能直接地发送给大家,有需要的可以评论,然后我发联系方式,在把这个发给你才行。

至于效果,只能说非常好。

目录
相关文章
|
SQL 运维 关系型数据库
一款 SQL 自动检查神器,再也不用担心 SQL 出错了,自动补全、回滚等功能大全
一款 SQL 自动检查神器,再也不用担心 SQL 出错了,自动补全、回滚等功能大全
362 0
|
虚拟化 对象存储
虚拟机使用pc摄像头
虚拟机使用pc摄像头
1220 0
虚拟机使用pc摄像头
|
分布式计算 资源调度 Hadoop
Hadoop【问题记录 02】【hadoop-3.1.3 单机版】ResourceManager无法启动NodeManager启动后过自动关闭 javax/activation/DataSource
【4月更文挑战第2天】Hadoop【问题记录 02】【hadoop-3.1.3 单机版】ResourceManager无法启动NodeManager启动后过自动关闭 javax/activation/DataSource
507 2
|
数据安全/隐私保护
阿里云商标注册流程
很多用户有注册商标的需求,又不知道怎么注册商标。特别是他们想在阿里云注册商标,其实注册商标很简单。商标类型,又分为:文字商标,图形商标,文字图形组合商标。无论你在阿里云是要买域名,买服务器,还是干嘛,首先你都需要注册阿里云账号的。
基于LangChain手工测试用例转Web自动化测试生成工具
该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。
|
Prometheus Kubernetes Cloud Native
使用prometheus来避免Kubernetes CPU Limits造成的事故
使用prometheus来避免Kubernetes CPU Limits造成的事故
339 7
|
存储 分布式计算 DataWorks
dataworks数据集成
dataworks数据集成
513 2
钉钉回传中文信息乱码怎么处理?
钉钉回传中文信息乱码怎么处理?
975 0
|
存储 运维 Linux
自建CA生成证书详解
自建CA生成证书详解
517 1
|
网络安全 数据中心 网络架构
【专栏】标准19英寸机架及其尺寸单位1U和2U在数据中心和通信机房中的应用
【4月更文挑战第28天】本文介绍了标准19英寸机架及其尺寸单位1U和2U在数据中心和通信机房中的应用。19英寸机架是国际标准,宽度48.26厘米,深度可定制。1U等于4.445厘米,2U是1U的两倍。1U设备适用于空间有限的情况,2U则提供更大空间和更好的散热。选择机架时需考虑空间、散热和电力需求,设备布局要保证散热和电缆管理。理解这些标准对于优化空间利用和系统管理至关重要。
1981 0