关于MP3文件的问题

关于MP3文件的问题,第1张

很简单的。

计算机发声原理:

声音有三个特性:响度、音调、音色。

响度,这个非常好理解。就是我们感觉到的声音的大小。具体点说就是由“振幅”决定,振幅越大响度越大。一般计量响度的单位是分贝,dB。

音调,这个就是声音的高低,由“频率”决定,频率越高音调越高。频率单位是赫兹,符号Hz。

音色,在生活当中,我们会发现各种物品发出的声音的特点是不一样的,如二胡和笛子。声音的特性就是音色。而决定声音的音色是由于物体本身的材料、结构。

对于我们的计算机而言。发声的设置都是固定了的。要么要计算机上的那个喇叭,那么是外接的音响等。

现在这里对计算机上的那个喇叭用Turbo C 20进行编程,使之发出动听的音乐《梁祝》。

第一步:定义《梁祝》的每一个音符的频率和时间,将定义好的频率和时间写入文件或者保存在数组里面。如果仅仅是写一两个程序自己玩玩的话,那直接保存在数组里面就可以了。如果你想自己写个播放器的话,那你先自己定义一种音乐格式文件(类似mp3、wav这种文件,这里暂时把这个文件定为mymusic),将《梁祝》每个音符的频率、时间写入这个自定义的音乐格式文件liangzhumymusic。

第二步:完成了liangzhumymusic文件的定义后,我们要做的事情就是读文件,控制喇叭发声。这个具体可以参照现有的资料。这里需要事先写几个函数,读文件的函数,暂停函数,频率对照函数等等。

第三步,将上面的程序链接起来,就OK了。

将上面的步骤优化下,一个DIY的音乐播放器就成功了。

我上面说的只是控制了声音的频率和时间,其实还可以控制响度。对于一些特殊的设备,控制音色也不是不可能。

这种程序我在大一的时候写过。现在想起来不难的。

主要是对C语言是否熟练,当然,你想要实现一个播放器,那你途中会遇到很多困难的。

祝你好运!

用C语言播放音乐,一般需要额外的库或者调用系统的API函数。

以Windows为例,可以通过PlaySound函数播放wav格式的音乐。示例如下:

    #include<stdioh>

#include<windowsh>

#include<mmsystemh>

#pragma comment(lib, "WINMMLIB")

int main()

{

PlaySound(TEXT("1wav"),0,SND_FILENAME); //1wav是要播放的音乐文件

return 0;

}

如果想播放mp3音乐可以使用如下代码。

注意:生成程序后,请在cmd中执行此程序,不要在vc/vs的IDE中运行。

    #include <windowsh>

#include <mmsystemh>

#include <stdioh>

#pragma comment(lib, "Winmmlib")

int main(int argc, char argv[])

{

//绝对地址形式

TCHAR fileName[]="ganlusimp3";

TCHAR shortName[MAX_PATH];

GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR));

TCHAR cmd[MAX_PATH+10];

wsprintf(cmd,"play %s",shortName);

mciSendString(cmd,NULL, 0, NULL);

Sleep(5  60  1000); //这里是防止一播放就结束做的延迟

return 0;

}

我们知道,音乐是音高和音长的有序组合,设计微机音乐最重要的就是如何定义音高和音长,以及如何让扬声器发出指定的音符。下面给出音符与频率的关系表。C语言提供的三个函数sound( )、nosound( )和clock( )可以很方便地解决上述的问题。sound( )函数可以用指定频率打开PC机扬声器直到用nosound( )函数来关闭它; clock( )函数正好用来控制发声时间,而且它不受PC机主频高低的影响。下面这段程序可使微机发出c调1的声音。

音符与频率关系表

音符 c d e f g a b

1 2 3 4 5 6 7

频率 262 294 330 349 392 440 494

音符 c d e f g a b

1 2 3 4 5 6 7

频率 523 587 659 698 784 880 988

音符 c d e f g a b

1 2 3 4 5 6 7

频率 1047 1175 1319 1397 2568 1760 1976

#include<stdioh>

#include<dosh>

void pause(int);

void sound1(int,int);

void main(void)

{

int i,freq,speed=5;

int time=4speed;

char qm="iddg>

待机时间最长的mp3:

魔贝C153

待机时间153小时,绝对超长待机,听一个月不用充电,

魔贝C153 魔贝(mobiBLU)是韩国的老牌劲旅,其外观和性能都比较卓越。新推出的C153顾名思义可以续航153小时。C153的出现可以改变我们坐长途火车或飞机时MP3没电的境况。

C153整体方形,机身小巧轻薄,拿在手里几乎感觉不到重量,边缘部分都作了圆角处理,整体显得更加圆润。外壳采用塑料材质,表面采用类似钢琴漆质感的喷涂工艺,反光效果明显!魔贝特别为C153打造了11寸 显示屏屏幕分辨率: (12832像素)白底OLED冷光显示屏。

作为一款纯音乐播放器,性能优越。一次充电仅需要4-5小时。音频播放方面,魔贝C153支持MP3、WMA,支持自定义音效和多种循环模式可供选择,无论是流行歌曲,还是对音质要求较高的纯音乐,都给予了良好的诠释。

C153还提供了高品质FM收音、录音等特别功能,采用USB 20传输接口,配合了魔贝自己独有的有效省电模式及省电化电路设计,对于需要长时间使用MP3播放器,或者懒于充电的用家来说,充一次电就能使用最长一个月的时间实在是太方便了。

以上就是关于关于MP3文件的问题全部的内容,包括:关于MP3文件的问题、C 语言:能不能用C语言编写程序来播放音频文件、如何用C语言编写音乐歌曲等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9267940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存