C++音乐播放系统

C++音乐播放系统

  • 音乐的好处
  • c++发出声音
  • 乐谱与赫兹对照
  • 把歌打到c++上

在这里插入图片描述

学习c++的同学们都知道,c++是一个一本正经的编程语言,因该没有人用它来做游戏、做病毒、做…做…做音乐播放系统吧!!

音乐的好处

  • 提升情绪:音乐能够影响我们的情绪。快节奏的音乐能够增加兴奋和活力,而慢节奏的音乐则能够帮助放松和减压。选择适合自己心情的音乐,可以帮助我们调整情绪状态。

  • 减轻压力:听音乐可以帮助释放压力。研究发现,愉悦的音乐能够降低我们的应激反应,减轻紧张和焦虑感。

  • 提高认知能力:学习音乐可以促进大脑的发育和认知能力的提高。音乐的学习过程需要我们使用多个感官和认知技能,如记忆、注意力和空间感知等。

  • 增强专注力:音乐可以帮助我们集中注意力。一些研究表明,在进行需要专注的任务时,背景音乐可以提高工作效率和注意力的集中程度。

  • 促进社交:音乐有助于建立社交联系。参与音乐活动,如合唱团、乐队或音乐课程,能够与他人分享共同的兴趣爱好,增强社交关系。

  • 增强记忆力:音乐与记忆有很强的联系。通过将信息与音乐进行关联,能够帮助记忆和提高记忆力。

  • 提高创造力:音乐可以激发创造力。音乐的创作和演奏过程中,我们可以发挥自己的想象力和创造力,表达自己的情感和思想。

既然音乐这么有用,我忍不住用c++做一个音乐播放系统

c++发出声音

c++是一种功能强大、灵活且高效的编程语言,适用于各种应用场景。它在计算机科学和软件工程领域有着广泛的应用,是一门值得学习和掌握的编程语言。它提供了丰富的特性和工具,使得开发人员能够编写高质量、可维护和高性能的代码。然而,由于其复杂性和灵活性,学习和掌握c++可能需要一定的时间和经验。

c++如何在不加入任何特殊库的情况下发出声音呢?
方法十分的简单:

#include <Windows.h>
int main() {Beep(440, 1000); // 发出440Hz的声音,持续1秒钟return 0;
}

Beep函数!!

Beep函数的作用很简单,就是发出不同高低、不同长短的嗡鸣声。但要想让这个东西形成音乐,好像还差点东西。。。

乐谱与赫兹对照

我在网上经过20分钟的查找,找到了一个十分可靠的赫兹与C调的对照表:
在这里插入图片描述
因此我们可以做三个数组,分别代表低音、中音以及高音,再将这些数据打上去,得到了下面是三个数组

int s1[2][10]={{0,262,294,330,349,392,440,494},{0,277,311,-99,370,415,466,-99}};int s2[2][10]={{0,523,587,659,698,784,880,988},{0,554,622,-99,740,831,932,-99}};int s3[2][10]={{0,1046,1175,1318,1397,1568,1760,1976},{0,1109,1245,-999,1480,1661,1865,-999}};

这样在进行Beep操作就简单多了~~

把歌打到c++上

这里属于暴力打代码,我就把代码放在下面了~~

#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
int s1[2][10]={{0,262,294,330,349,392,440,494},{0,277,311,-99,370,415,466,-99}};int s2[2][10]={{0,523,587,659,698,784,880,988},{0,554,622,-99,740,831,932,-99}};int s3[2][10]={{0,1046,1175,1318,1397,1568,1760,1976},{0,1109,1245,-999,1480,1661,1865,-999}};void cppmusic()
{Beep(s2[0][3],400);Beep(s2[0][3],400);Beep(s2[0][3],800);Beep(s2[0][3],400);Beep(s2[0][3],400);Beep(s2[0][3],800);Beep(s2[0][3],400);Beep(s2[0][5],400);Beep(s2[0][1],600);Beep(s2[0][2],200);Beep(s2[0][3],1600);Beep(s2[0][4],400);Beep(s2[0][4],400);Beep(s2[0][4],600);Beep(s2[0][4],200);Beep(s2[0][4],400);Beep(s2[0][3],400);Beep(s2[0][3],400);Beep(s2[0][3],200);Beep(s2[0][3],200);Beep(s2[0][3],400);Beep(s2[0][2],400);Beep(s2[0][2],400);Beep(s2[0][1],400);Beep(s2[0][2],800);Beep(s2[0][5],800);Beep(s2[0][3],400);Beep(s2[0][3],400);Beep(s2[0][3],800);Beep(s2[0][3],400);Beep(s2[0][3],400);Beep(s2[0][3],800);Beep(s2[0][3],400);Beep(s2[0][5],400);Beep(s2[0][1],600);Beep(s2[0][2],200);Beep(s2[0][3],1600);Beep(s2[0][4],400);Beep(s2[0][4],400);Beep(s2[0][4],600);Beep(s2[0][4],200);Beep(s2[0][4],400);Beep(s2[0][3],400);Beep(s2[0][3],400);Beep(s2[0][3],200);Beep(s2[0][3],200);Beep(s2[0][5],400);Beep(s2[0][5],400);Beep(s2[0][4],400);Beep(s2[0][2],400);Beep(s2[0][1],1200);
}int main()
{cppmusic();return 0;
}

另外想要循环播放也很简单,只要加个循环就行了~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/43869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java语言B/S架构云HIS医院信息系统源码【springboot】

医院云HIS全称为基于云计算的医疗卫生信息系统( Cloud- Based Healthcare Information System)&#xff0c;是运用云计算、大数据、物联网等新兴信息技术&#xff0c;按照现代医疗卫生管理要求&#xff0c;在一定区域范围内以数字化形式提供医疗卫生行业数据收集、存储、传递、…

动手学深度学习--基础知识上篇

&#x1f388;动手学deep learning ☁️本专栏会定期更新关于动手学深度学习的每章知识点的讲解&#xff0c;题目答案 &#x1f47b;如果喜欢&#xff0c;欢迎点赞&#xff0c;收藏 动手学深度学习-预备知识篇 线性代数篇 1-3题讲解 证明一个矩阵 A \mathbf{A} A的转置的转置…

安卓手机跑 vins slam (2)

既然选择把vins的代码移植到新工程&#xff0c;那么就需要先确定自己电脑的Android Studio的C开发环节是OK的&#xff0c;可以通过创建C的示例工程&#xff0c;能正常跑通做验证。 选择Native C 需要选择用C哪个版本&#xff0c; 这里通过百度搜索&#xff0c;slam 编译需要C 1…

电脑提示丢失(或找不到)msvcp120.dll解决办法

msvcp140.dll是Microsoft Visual C Redistributable的一部分&#xff0c;它是Windows操作系统中的一个动态链接库文件。这个文件包含了许多C标准库函数的实现&#xff0c;对于一些依赖C标准库的应用程序来说&#xff0c;msvcp140.dll是非常重要的。msvcp140.dll的主要用途是提供…

热电联产在综合能源系统中的选址定容研究(matlab代码)

目录 1 主要内容 目标函数 程序模型 2 部分代码 3 程序结果 1 主要内容 该程序参考《热电联产在区域综合能源系统中的定容选址研究》&#xff0c;主要针对电热综合能源系统进行优化&#xff0c;确定热电联产机组的位置和容量&#xff0c;程序以33节点电网和17节点热网为例…

CI/CD入门(二)

CI/CD入门(二) 目录 CI/CD入门(二) 1、代码上线方案 1.1 早期手动部署代码1.2 合理化上线方案1.3 大型企业上线制度和流程1.4 php程序代码上线的具体方案1.5 Java程序代码上线的具体方案1.6 代码上线解决方案注意事项2、理解持续集成、持续交付、持续部署 2.1 持续集成2.2 持续…

小白到运维工程师自学之路 第七十五集 (Kubernetes 企业级高可用部署)2

8、添加master节点 在k8s-master2和k8s-master3节点创建文件夹 mkdir -p /etc/kubernetes/pki/etcd在k8s-master1节点执行 从k8s-master1复制密钥和相关文件到k8s-master2和k8s-master3 scp /etc/kubernetes/admin.conf root192.168.77.15:/etc/kubernetes scp /etc/kubernet…

UAF释放后重引用原理

原地址&#xff1a;https://blog.csdn.net/qq_31481187/article/details/73612451 原作者代码是基于linux系统的演示代码&#xff0c;因为windows和Linux 内存管理机制上略有不同&#xff0c;该程序在Windows需要稍微做些改动。 Windows上执行free释放malloc函数分配的内存后…

Docker碎碎念

docker和虚拟机的区别 虚拟机&#xff08;VM&#xff09;是通过在物理硬件上运行一个完整的操作系统来实现的。 每个虚拟机都有自己的内核、设备驱动程序和用户空间&#xff0c;它们是相互独立且完全隔离的。 虚拟机可以在不同的物理服务器之间迁移&#xff0c;因为它们是以整…

淘宝搜索店铺列表API:关键字搜索店铺信息 获取店铺主页 店铺所在地 服务评级

接口名称&#xff1a;item_search_seller 基本功能介绍 该API可以通过传入关键字&#xff0c;获取到淘宝商城的店铺列表&#xff0c;支持翻页显示。指定参数page获取到指定页的数据。返回的店铺信息包括&#xff1a;店铺名、店铺ID、店铺主页、宝贝图片、掌柜名字、店铺所在地…

idea2023 springboot2.7.5+mybatisplus3.5.2+jsp 初学单表增删改查

创建项目 修改pom.xml 为2.7.5 引入mybatisplus 2.1 修改pom.xml <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><!--mysq…

11. Vuepress2.x 关闭夜间模式

修改 docs/.vuepress/config.ts 配置文件 设置 themeConfig.darkMode属性详见 官网 module.exports {host: localhost, // ipport: 8099, //端口号title: 我的技术站, // 设置网站标题description: 描述&#xff1a;我的技术站,base: /, //默认路径head: [// 设置 favor.ico&a…

聊聊看React和Vue的区别

Vue 更适合小项目&#xff0c;React 更适合大公司大项目&#xff1b; Vue 的学习成本较低&#xff0c;很容易上手&#xff0c;但项目质量不能保证...... 真的是这样吗&#xff1f;借助本篇文章&#xff0c;我们来从一些方面的比较来客观的去看这个问题。 论文档的丰富性 从两个…

源于传承,擎领未来,新架构、新工艺下的“换心工程”——金融电子化访中电金信副总经理、研究院院长况文川

当前&#xff0c;商业银行的经营环境正在发生着深刻而复杂的变化&#xff0c;在深化改革主旋律的指引下&#xff0c;数字化转型已成为我国商业银行普遍认同、广泛采用的战略性举措。核心系统作为承载银行业务的关键支柱系统&#xff0c;一直是各银行在金融科技建设中重点关注和…

每日一题——接雨水(单调栈)

接雨水——单调栈 题目链接 单调递增的栈还是单调递减的栈 我们常说的**”积水成洼“**&#xff0c;指的就是说&#xff1a;当两边地势高于中间的地势时&#xff0c;中间的区域就成了洼地&#xff0c;也就可以积水了。 这一题就是如此&#xff0c;我们需要通过一个栈来记录数…

微服务最佳实践,零改造实现 Spring Cloud Apache Dubbo 互通

作者&#xff1a;孙彩荣 很遗憾&#xff0c;这不是一篇关于中间件理论或原理讲解的文章&#xff0c;没有高深晦涩的工作原理分析&#xff0c;文后也没有令人惊叹的工程数字统计。本文以实际项目和代码为示例&#xff0c;一步一步演示如何以最低成本实现 Apache Dubbo 体系与 S…

Maven 基础之依赖管理、范围、传递、冲突

文章目录 关于依赖管理坐标和 mvnrepository 网站pom.xml 中"引"包 依赖范围依赖传递依赖冲突 关于依赖管理 坐标和 mvnrepository 网站 在 maven 中通过『坐标』概念来确定一个唯一确定的 jar 包。坐标的组成部分有&#xff1a; 元素说明<groupId>定义当前…

ElementUI的MessageBox的按钮置灰且不可点击

// this.$confirmthis.$alert(这是一段内容, 标题名称, {confirmButtonText: 确定,confirmButtonCLass: confirmButton,beforeClose: (action,instance,done) > {if (action confirm) {return false} else {done()}});}.confirmButton {background: #ccc !important;cursor…

《游戏编程模式》学习笔记(七)状态模式 State Pattern

状态模式的定义 允许对象在当内部状态改变时改变其行为&#xff0c;就好像此对象改变了自己的类一样。 举个例子 在书的示例里要求你写一个人物控制器&#xff0c;实现跳跃功能 直觉上来说&#xff0c;我们代码会这么写&#xff1a; void Heroine::handleInput(Input input…

Python学习笔记_基础篇(十一)_socket编程

python 线程与进程简介 进程与线程的历史 我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心&#xff0c;它承担计算机的所有任务。 操作系统是运行在硬件之上的软件&#xff0c;是计算机的管理者&#xff0c;它负责资源的管理和分配、任务的调度。 程序是运行…