当前位置: 首页 > news >正文

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

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

相关文章:

C++音乐播放系统

C音乐播放系统 音乐的好处c发出声音乐谱与赫兹对照把歌打到c上 学习c的同学们都知道&#xff0c;c是一个一本正经的编程语言&#xff0c;因该没有人用它来做游戏、做病毒、做…做…做音乐播放系统吧&#xff01;&#xff01; 音乐的好处 提升情绪&#xff1a;音乐能够影响我们…...

Django笔记之log日志记录详解

以下是一个简单的 logging 模块示例&#xff0c;可以先预览一下&#xff0c;接下来会详细介绍各个模块的具体功能&#xff1a; LOGGING {version: 1,disable_existing_loggers: False,formatters: {verbose: {format: %(levelname)s %(message)s,}},handlers: {file_1: {leve…...

vue局部打印多页面pdf

技术背景 html打印程pdf,使用的官方提供的window.print()打印的样式 media print {} 方法一 const printContent this.$refs.bodyright;var textInput printContent.getElementsByTagName("input");for (var i 0; i < textInput.length; i) {textInput[i].se…...

指定或降低Rust 工具链的版本

要更改 Rust 工具链的版本&#xff0c;您可以使用以下命令之一&#xff1a; rustup default stable&#xff1a;使用 stable 版本的 Rust 工具链作为默认版本。rustup default beta&#xff1a;使用 beta 版本的 Rust 工具链作为默认版本。rustup default nightly&#xff1a;使…...

数据驱动成功:商城小程序分析与改进

在当今数字化时代&#xff0c;商城小程序成为了企业与消费者之间互动的重要途径。然而&#xff0c;一个成功的商城小程序不仅仅是一个购物平台&#xff0c;更需要通过数据分析不断进行改进和优化&#xff0c;以提升用户体验和营销效果。本文将深入探讨如何利用数据驱动的方式进…...

基于GUI的卷积神经网络和长短期神经网络的语音识别系统,卷积神经网的原理,长短期神经网络的原理

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 长短期神经网络的原理 基于GUI的卷积神经网络和长短期神经网络的语音识别系统 代码下载链接:基于MATLABGUI编程的卷积神经网络和长短期…...

Docker环境安装elasticsearch和kibana

一、安装elasticsearch 创建es-network&#xff0c;让es、kibana在同一个网段&#xff1a; docker network create --driverbridge --subnet192.168.1.10/24 es-network运行elasticsearch docker run -d \ --name elasticsearch \ # 容器名 --hostname elasticsearch # 主机…...

【剖析STL】vector

vector的介绍及使用 1.1 vector的介绍 cplusplus.com/reference/vector/vector/ vector是表示可变大小数组的序列容器。就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问&#xff0c;和数组一样高效。但是…...

Redis、Memcache和MongoDB的区别

>>Memcached Memcached的优点&#xff1a; Memcached可以利用多核优势&#xff0c;单实例吞吐量极高&#xff0c;可以达到几十万QPS&#xff08;取决于key、value的字节大小以及服务器硬件性能&#xff0c;日常环境中QPS高峰大约在4-6w左右&#xff09;。适用于最大程度…...

2023中大ACM游记

游记 中午快十二点时才到了广州六中&#xff0c;在附近吃了塔斯汀汉堡&#xff0c;味道还不错。 十二点半才卡点到了考场&#xff0c;本以为来晚了&#xff0c;但老师说比赛时间延迟&#xff0c;十二点五十才开场。 三个人用一台电脑&#xff0c;这种比赛方式还是第一次遇到…...

记一次线上OOM事故

OOM 问题 linux内核有个机制叫OOM killer(Out-Of-Memory killer)&#xff0c;当系统需要申请内存却申请不到时&#xff0c;OOM killer会检查当前进程中占用内存最大者&#xff0c;将其杀掉&#xff0c;腾出内存保障系统正常运行。 一般而言&#xff0c;一个应用的内存逐渐增加&…...

Learning to Super-resolve Dynamic Scenes for Neuromorphic Spike Camera论文笔记

摘要 脉冲相机使用了“integrate and fire”机制来生成连续的脉冲流&#xff0c;以极高的时间分辨率来记录动态光照强度。但是极高的时间分辨率导致了受限的空间分辨率&#xff0c;致使重建出的图像无法很好保留原始场景的细节。为了解决这个问题&#xff0c;这篇文章提出了Sp…...

怎么使用手机远程控制Win10电脑?

可以使用手机远程控制电脑吗&#xff1f; “近期&#xff0c;我将出差一段时间。问题是&#xff0c;我希望能够从很远的地方浏览家里电脑上的一些东西&#xff0c;但我不会一直随身携带笨重的笔记本电脑。我可以手机远程访问Windows电脑吗&#xff1f; ” 当然&am…...

W6100-EVB-PICO 做UDP Client 进行数据回环测试(八)

前言 上一章我们用开发板作为UDP Server进行数据回环测试&#xff0c;本章我们让我们的开发板作为UDP Client进行数据回环测试。 连接方式 使开发板和我们的电脑处于同一网段&#xff1a; 开发板通过交叉线直连主机开发板和主机都接在路由器LAN口 测试工具 网路调试工具&a…...

Typora 相对路径保存图片以及 Gitee 无法显示图片

目录 Typora 相对路径保存图片 Gitee 无法显示图片 Typora 相对路径保存图片 Step1&#xff1a;修改 Typora 的偏好设置 自动在当前目录创建名为 "./${filename}.assets" 的文件夹粘贴图片到 md 中时&#xff0c;图片会自动另存到 "./${filename}.assets&qu…...

深入探索:Kali Linux 网络安全之旅

目录 前言 访问官方网站 导航到下载页面 启动后界面操作 前言 "Kali" 可能指的是 Kali Linux&#xff0c;它是一种基于 Debian 的 Linux 发行版&#xff0c;专门用于渗透测试、网络安全评估、数字取证和相关的安全任务。Kali Linux 旨在提供一系列用于测试网络和…...

Python 实现语音转文本

Python 实现语音转文本 Python可以使用多种方式来实现语音转文本&#xff0c;下面介绍其中两种。 方法一&#xff1a;使用Google Speech API Google Speech API 是 Google 在 2012 年推出的一个 API&#xff0c;可以用于实现语音转文本。使用 Google Speech API 需要安装 Sp…...

使用DSA、ECDSA、Ed25519 和 rfc6979_rust实现高安全性的数字签名

第一部分&#xff1a;背景和DSA简介 在数字世界中&#xff0c;确保数据的真实性和完整性是至关重要的。一个有效的方法是使用数字签名。在这篇文章中&#xff0c;我们将探讨四种流行的加密签名算法&#xff1a;DSA、ECDSA、Ed25519 和 rfc6979_rust。我们将重点讲解它们的基础…...

“深入探索JVM内部机制:解密Java虚拟机的奥秘“

标题&#xff1a;深入探索JVM内部机制&#xff1a;解密Java虚拟机的奥秘 摘要&#xff1a;本文将深入探索Java虚拟机&#xff08;JVM&#xff09;的内部机制&#xff0c;介绍JVM的基本原理、运行时数据区域以及垃圾回收机制&#xff0c;并通过示例代码解释这些概念。 正文&am…...

css3新增属性

文章目录 css3新增属性box-shadowborder-radius设置椭圆 position: sticky;渐变背景线性渐变可重复的渐变背景 径向渐变可重复的渐变背景 过渡分属性 动画关键帧与transition的关系demo 变形平移使用 旋转使用 其他使用立体效果perspective元素位于3D空间还是平面中 缩放变形的…...

OBS WebSocket插件深度解析:从源码编译到生产部署终极指南

OBS WebSocket插件深度解析&#xff1a;从源码编译到生产部署终极指南 【免费下载链接】obs-websocket Remote-control of OBS Studio through WebSocket 项目地址: https://gitcode.com/gh_mirrors/ob/obs-websocket OBS WebSocket是一个基于WebSocket协议的OBS Studio…...

嵌入式Tickless低功耗机制:从原理到FreeRTOS与裸机实践

1. 项目概述&#xff1a;从“忙等”到“休眠”&#xff0c;Tickless如何重塑嵌入式系统的能耗观在嵌入式开发领域&#xff0c;尤其是电池供电的设备上&#xff0c;功耗是悬在工程师头顶的达摩克利斯之剑。传统的实时操作系统&#xff08;RTOS&#xff09;或裸机调度&#xff0c…...

FanControl深度实战指南:5分钟精通Windows风扇精准控制

FanControl深度实战指南&#xff1a;5分钟精通Windows风扇精准控制 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

LabVIEW数据记录编程:生产者-消费者模式与TDMS文件实战

1. 项目概述&#xff1a;为什么数据记录是自动化测试的“定海神针”干了这么多年自动化测试和工业测控&#xff0c;我越来越觉得&#xff0c;一个系统稳不稳&#xff0c;关键看它的数据记录环节扎不扎实。你可能花了大把时间把传感器信号调理得漂漂亮亮&#xff0c;把控制算法写…...

Veil-Evasion核心模块深度解析:从控制器到Payload生成

Veil-Evasion核心模块深度解析&#xff1a;从控制器到Payload生成 【免费下载链接】Veil-Evasion Veil Evasion is no longer supported, use Veil 3.0! 项目地址: https://gitcode.com/gh_mirrors/ve/Veil-Evasion Veil-Evasion是一款专业的免杀payload生成工具&#x…...

运算放大器增益带宽积(GBW)计算指南:从原理到选型实战

1. 项目概述&#xff1a;为什么我们需要关心运放的GBW&#xff1f;在模拟电路设计&#xff0c;尤其是信号调理、滤波、放大等前端电路的设计中&#xff0c;运算放大器&#xff08;运放&#xff09;的选择是决定电路性能上限的关键一步。很多工程师在选型时&#xff0c;会重点关…...

基于ARM核心板的工业无线示教器开发全流程解析

1. 项目概述&#xff1a;当工业机器人遇上“掌上大脑”在工业自动化领域&#xff0c;示教器是人与机器人交互的核心枢纽。传统的示教器&#xff0c;往往体积庞大、线缆缠绕、成本高昂&#xff0c;并且高度依赖特定的控制器硬件。作为一名长期混迹于工控和嵌入式开发一线的工程师…...

Linux僵死IO与不可中断睡眠分析

Linux僵死IO与不可中断睡眠分析在 Linux 系统里&#xff0c;有一类问题特别让人困惑&#xff1a;进程存在、CPU 不高&#xff0c;但命令卡住、服务停不下来、甚至 kill 也无效。很多这类现象最终都与不可中断睡眠状态有关&#xff0c;尤其常见于 IO 阻塞场景。中级阶段需要理解…...

如何快速掌握Winhance中文版:Windows优化终极指南

如何快速掌握Winhance中文版&#xff1a;Windows优化终极指南 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-zh_CN …...

观察不同模型在Taotoken平台上的实际Token消耗速率

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察不同模型在Taotoken平台上的实际Token消耗速率 对于依赖大模型API进行开发的团队和个人而言&#xff0c;成本控制是一个持续关…...