调用bios喇叭发声
话不多说,上代码:
#include <windows.h>
#include <iostream>
#include <map>
using namespace std; const int DO = 261;
const int RE = 293;
const int MI = 329;
const int FA = 349;
const int SO = 392;
const int LA = 440;
const int TI = 493; const int DO_ = 130;
const int RE_ = 147;
const int MI_ = 165;
const int FA_ = 174;
const int SO_ = 186;
const int LA_ = 220;
const int TI_ = 247; int frequency(char note){
static map<const char,int> table; if(table.size() == 0){
table['1'] = DO;
table['2'] = RE;
table['3'] = MI;
table['4'] = FA;
table['5'] = SO;
table['6'] = LA;
table['7'] = TI; table['c'] = DO_;
table['d'] = RE_;
table['e'] = MI_;
table['f'] = FA_;
table['g'] = SO_;
table['a'] = LA_;
table['b'] = TI_;
} return table.find(note) -> second;
} class music{
private:
string notes;
int tenuto;
public:
music(string &song , int tenuto_) { notes = song; tenuto = tenuto_; play(notes.end(),tenuto);}
void play(string::iterator it,int duration );
};
void music::play(string::iterator it, int duration){
char note = *it; if( it == notes.begin() )
return; if( note == '-')
play( it - 1, duration + tenuto);
else {
if( isalnum(note) ) {
play( it - 1, 0); Beep(frequency(note), tenuto + duration);
} else
play( it - 1, duration);
} } string bee = "\
5 3 3 - | 4 2 2 - | 1 2 3 4 | 5 5 5 - | \
5 3 3 - | 4 2 2 - | 1 3 5 5 | 3 3 3 - | \
2 2 2 2 | 2 3 4 - | 3 3 3 3 | 3 4 5 - | \
5 3 3 - | 4 2 2 - | 1 3 5 5 | 1 3 1 - | \
"; string happynewyear = "\
1 1 1 - g - | 3 3 3 - 1 - | 1 3 5 - 5 - | \
4 3 2 - - - | 2 3 4 - 4 - | 3 2 3 - 1 - | \
1 3 2 - g - | b 2 1 - - - | \
"; int main()
{
music m(bee, 300); music m2(happynewyear, 200); return 0;
}
调用bios喇叭发声的更多相关文章
- 【python】调用机器喇叭发出蜂鸣声(Beep)
##coding:utf-8 import winsound winsound.Beep(600,6000) #其中600表示声音大小,1000表示发生时长,1000为1秒
- CMOS and BIOS
1,cmos简介. cmos是主板上一块可读写的RAM芯片.用途:主要用来保存当前系统的硬件配置和操作人员对某些参数的设定.cmos芯片是由一块纽扣电池供电.因此在关机状态内部信息也不会丢失. 2 ...
- CMOS、BIOS
CMOS主要的功能为记录主板上面的主要参数,包括系统时间.CPU电压与频率.各项设备的I/O地址与IRQ等,由于这些数据的记录要花费电力,因此主板上面才有电池. BIOS为写入到主板上某一块闪存或EE ...
- UEFI BIOS Rootkit Analysis
catalog . BIOS简介 . UEFI BIOS . EFI编程简介 . UEFI Rootkit 1. BIOS简介 BIOS("Basic Input Output System ...
- BIOS备忘录之ASL code常用知识点
_HID:device唯一 _STA:决定device在不在(在DM下面能不能看到) _CRS:描述分配给device的资源 _INI:在OSPM加载描述表的时候运行一次(比如,如果要根据不同情况给d ...
- 软盘相关知识和通过BIOS中断访问软盘
一. 软盘基础知识介绍 (1) 3.5英寸软盘 3.5英寸软盘分为上下两面,每面有80个磁道,每个磁道又分为18个扇区,每个扇区大小为512个字节. 软盘大小计算: 2面 * 80磁道 * 18扇区 ...
- 系统启动时,BIOS与影子内存_5
问题:“当我们按下电源开关时,电源开始供电,芯片组撤去RESET信号,CPU马上就从地址FFFF0H处开始执行指令,这个地址在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS, ...
- BIOS和CMOS区别
在网上看到一篇关于CMOS的文章,分享一下. 原文地址:http://jingyan.baidu.com/article/c843ea0b51155d77921e4a7a.html BIOS是什么? ...
- 计算机启动boot
原创博文:转载请标明出处:http://www.cnblogs.com/zxouxuewei 零.boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot.可是,boo ...
随机推荐
- Dynamics CRM2016 关闭错误报告弹框提示
在之前的版本中错误报告的弹框提示是可以在隐私首选项中设置关闭的,如下图所示 但是在2016中这个设置没了 有人说在右上角的选项中设置,但那个只能是设置个人的无法修改系统级别的.在系统中找了半天还是没有 ...
- Android5.0特性ToolBar
>Toolbar是什么?大概说一下它的官方介绍.Toolbar是应用的内容的标准工具栏,`可以说是Actionbar的升级版`,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯 ...
- Django项目实践4 - Django站点管理(后台管理员)
http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类 ...
- java基础知识——网络编程、IO流
IO流 字节流:处理字节数据的流对象,计算机中最小数据单元就是字节.InputStream OutputStream 字符流:字符编码问题,将字节流和编码表封装成对象就是字符流.Reader Writ ...
- CoreText精彩文字轮廓绘制动画的一点改进
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 原文在: http://oleb.net/blog/2010/ ...
- 适配器模式(adapter)
适配器模式的定义: 将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能在一起的那些类可以一起工作. 主要分为三类:类的适配器模式.对象的适配器模式.接口的适配器模式. ...
- 通过一个例子了解MapReduce
写MapReduce程序的步骤: 把问题转化为MapReduce模型: 设置运行参数: 写map类: 写reduce类: 例子:统计单词个数 Map的任务是将内容用" "分开,然后 ...
- [ExtJS5学习笔记]第十七节 Extjs5的panel组件增加accodion成为折叠导航栏
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39102335 官方例子:http://dev.sencha.com/ext/5.0.1 ...
- 【移动开发】SparseArray替代HashMap
SparseArray是android里为<Interger,Object>这样的Hashmap而专门写的class,目的是提高效率,其核心是折半查找函数(binarySearch). p ...
- Linux设备驱动编程---miscdevice杂类设备的使用方法
miscdev简称杂类设备杂类设备就是对字符设备驱动做一个封装,方便简单使用杂类设备封装字符设备需要包含的头文件:#include <linux/miscdevice.h>(1)杂类设备的 ...