❶ 大虾们帮个忙弄一个简单的c语言程序 可发出声音
1.发声,有两种:
一种主板的小扬声器,可以发出指定频率的声音;
二是通过声卡的MIDI,发出指定频率的声音;
2.标准的C语言不支持发声的,要调用WINDOWS API子程序才能发声;
所以,要知道你用的是什么C语言;
我用的是C++BUILDER,发声子程序网上可搜到。
❷ 求c语言的老师傅回答!!
可以访问端口,所用的函数如楼上所说:outport和outportb是向端口输出,inport和inportb是从端口读入;
也可以调用DOS中断,这也经常会用到吧:setvect设定中断号和服务子程序,中断服务程序形如void interrupt inter_service(……),注意在硬件上还要向0x20和0x21发送控制字,等等等等……
对于ISA设备,可以直接访问;对于PCI设备,要读取BIOS中的PCI存址空间……
总之,你得知道声卡的译码地址或者设备标识,不然刚才都是白说。
我没写过访问声卡的程序,所以只能根据自己相关的经历提供一些经验,楼主自己努力!
❸ 如何在C语言中加入声音
这个不是用一句话两句话就能说清楚的
播放*.WMA文件的程序,在播放前首先需要在硬件端口210H~260H中查找是否安装了声卡,然后根据是否是立体声,采样精度的不同来提取声音样本,然后通过改写时钟中断并将数据输出到声卡数据输出端口来播放音乐.
建议你最好看一些相关方面的书
❹ 学习软件制作方面的话 首先要学习什么 本人已经学习完C语言了,请指教
“本人已经学习完C语言了”
年轻人说话不要这么豪气冲天。
你会用C语言写一个基于UDP的P2P软件吗?
你会用C语言写一个图像处理软件、实现基本的色调转换、外形识别、溶解、凸显等功能吗?
你会用C语言写一个硬件驱动程序,通过声卡输出任意频率的声音吗?
❺ C语言输出结果同时发出该结果的声音
你的函数要配合声卡驱动的,而且需要相关接口的调用,仅仅一个c语言程序,只有可视化界面,没有硬件驱动,根本达不到。建议你买个arm板吧,可以试着做出来。
❻ 用c语言编写 怎么样输出以下图标
常规问题
问:Unicode和Ansi版本是怎么回事,用一个更好?
Unicode是统一字符编码方式,Unicode版本的程序只能运行在NT/2000/XP/2003等新的Windows上,可以解决不同语言的显示问题,并且由于Unicode在这些系统上有高好的性能,所以当处理大量列表的时候也有很大的帮助。
千千静听内部处理字符串时(例如处理标签或列表时),大量使用系统默认的16位Unicode(即使是Ansi版本也一样,只是显示的时候才转换成Ansi),可以最大限度的提高处理的性能。
问:我是繁体XP的用户,可以使用千千静听吗?
可以,千千静听已经支持unicode,可以在非简体中文的Windows 2000/XP下使用,千千静听的界面不会出现乱码,但某些只包含ID3v1标签的MP3文件可能是显示乱码,可以尝试用“文件信息”里的内码转换功能来找到正确的内码。千千静听还提供了繁体和简体之间的标签和歌词转换。
问:安装新版本的时候,需要先删除以前的版本吗?
不用,直接覆盖安装就行了,千千静听可以兼容以前的参数设置,但某些功能可能因为升级而发生变化,绝大多数设置将继续有效。
问:为什么我的电脑上没有淡入淡出窗口的效果?
淡入淡出窗口以及半透明窗口效果都需要Windows2000或以上的操作系统才能支持。
问:我的窗口不小心拖动屏幕外面了,怎么办?
在Windows的系统栏(屏幕右下角的系统时间那里)右键点击主菜单,选“查看窗口”
下面的“重新排列”,这个对普通模式和迷你模式都有效。
问:我想把千千支持的文件格式默认用千千来打开,怎么样最方便?
千千选项的最后一页“系统关联”,可以在你想要关联的某个格式,或某一类格式上打
上勾,并且为这种或这一类格式指定一个文件类型图标,考虑到不同用户有不同的喜好,千
千只提供图标自定义的功能,而不提供任何很多默认的图标。
问:为什么千千静听的皮肤这么少?
作者本人不擅长美工,又找不到专业人士帮助千千(因为千千免费)。其实千千静听的
皮肤格式是比较简单的,是基于XML格式的用ZIP压缩一下而已,有兴趣的网友可以自己把皮
肤文件改为.zip后缀后解开来看看,具体请看主页上皮肤这一页:<a href= target=_blank></a>
n.htm。
问:为什么千千静听不支持Winamp的皮肤呢?
由于播放器的功能不相同,皮肤的设计和实现也不相同,很多千千静听需要的皮肤的元
素Winamp的皮肤里都没有,例如千千静听需要歌词秀窗口,但Winamp本身就没有这个窗口的
皮肤。论坛上有不少网友从winamp改造过来的皮肤,有兴趣不妨去看一下。
二。播放
问:为什么在Win98下不支持播放CD?
Win98没有自带数字CD读取所需的驱动,可以到主页上去下载这个通用的驱动程序,地
址是:<a href= target=_blank></a>
问:为什么我正在播放CD的时候,就不能转压CD为其它格式了?
因为Windows下以数字方式访问CD是独占的,所以同时只能由一个任何来访问CD。如果
你想转压,请先停止播放。
问:千千有没有能自动在线查询到CD信息的功能?
4.3以后的版本,提供了freedb的在线查询CD信息的功能,但非正版的CD很可能找不到:
)。
问:为什么我用Windows Media Player制作的WMA文件无法播放?
Window Media Player在制作WMA文件时默认启用了数字版权保护机制,而要支持这种
文件,必须得到微软的官方支持,考虑到手续比较麻烦所以目前还未实现对它的支持。所以
在制作WMA文件的时候请尽量不要使用数字版权保护。
问:回放增益(自动音量)是怎么回事,应该如何使用?
回放增益信息是通过对音频文件的扫描分析检测到的一个最佳的增益值,
在以后的播放中如果使用这个增益值就可以把音频文件的音量调整到最佳的水平,从而减少
甚至避免不同音频文件之间的音量差异.
可以通过手动扫描或自动扫描来得到这个信息,手动扫描就是在播放列表上右键某些文
件,通过“扫描增益信息”来得到,或者选中千千选项的“播放”页中的“自动扫描”,这
样在播放的同时,就会自动扫描没有这个信息的文件(如果已存在就不会再扫描),但要注
意的是,如果播放被中断或用户拖动了播放进度,扫描就会停止,只有完整的播放一遍之后
才能得出这个信息。
问:为什么我启用了回放增益以后,有些歌的音量不正常?
增益信息是以文件标签的形式保存在文件中的,可能是增益信息别的软件破坏了,所以
导致音量不正常,这时,你需要手动重新扫描一下。
问:千千支持哪些音频输出方式?
千千支持Waveout(波形输出),DirectSound,Kernel
Streaming(内核音频流),ASIO这四种方式,但在不同的系统和声卡环境下,并不是每一种
都能支持的,特别是ASIO,更需要声卡本身的支持,一般只有比较高档的声卡才能支持。
问:这些音频输出方式各有什么特点?
Waveout是微软最早提出的音频流输出方式,所以它的兼容性也就好,几乎所有的声卡
都支持;
DirectSound是微软DirectX的一个组合部分,它的兼容性也很不错,并且在有多个程序
需要播放音频的时候能提供高可靠的保障,并且使用这种方式可以让千千静听更好的支持声
音的淡入淡出效果;
Kernel
Streaming是微软底层使用的音频流方式,具体更低的延时性,用于对延时性要求比较高的
场和,因为更底层,所以效率更高,而且受别的程序的影响也更小,如果你用它来播放时,
把系统音量里的波型“静音”,就可以实现只听到播放器的音乐,而不受其它程序的声音的
影响。但Kernel Streaming同样对声卡和驱动有一定的要求。
ASIO是Steinberg提出来的比较新的音频流输入输出接口,一般用在对实时性要求很高
的专业场合,对声卡的要求更高。
理论上来说,这四种方式对输出的音质没有任何影响,因为这些方式只是把声音的数字
信号传输到声卡的数模转换器(D/A),而不会对信息有任何的改变。
问:像AxASIO之类的软件能让声卡不支持ASIO的电脑也使用ASIO,有什么好处吗?
AxASIO或ASIO Kernel-Streaming Driver之类的软件,都是在Kernel
Streaming的基础上模拟出来的ASIO,所以效果反而没有直接用Kernel
Streaming好,而且设备不当的话还影响正常的播放。
问:千千使用的MP3解码器是哪一个?
千千使用的是最新版本的mpg123-0.59s-pre,它是目前已经的开放源代码中最好的MP3
解码器之一,无论是精度来是速度都是很出色的。千千早期版本使用的是MAD,但在个人PC
上,MAD的解码速度比mpg123要慢70%甚至更多,而绝对精确和mpg123相比还略有差距,所以
后来就改用mpg123了。
问:是不是把播放时的缓冲长度设得越高播放越流畅?
一般来说,只要设置1000-2000毫秒的长度就可以了,太长只会增加资源占用。
问:播放时的输出比特是越高越好吗?
不是,目前几乎所有的音频源都来自16比特的CD,而且一般的声卡只支持16比特的输出
,所以基本上选用16比特就可以满足绝大多数的要求了,千千的“原始比特”就是指音频本
身的比特数,因为碰到有些24比特的WMA,千千就会自动选择24比特输出。
要注意的是,很多支持ASIO的声卡,最佳的输出比特数是32或24,所以这时选择相对应
的比特数就能提供最佳的性能(因为不需要再做额外的转换)。
问:采样频率转换一般用在什么场合?
对于AC’97规范的声卡(主板自带的基本上都是这类声卡),硬件只支持48000Hz这一
种采样频率,而CD的音频是44100Hz的,从CD转换过来的MP3等大多部格式也是44100Hz的,
也就是说在这种类型的声卡上,在数字信号转成模拟信号之前,还要对采样频率做一次转换
,如果驱动程序提供的转换程序不是很好(据说为了提高性能,都采用比较一般的算法),
就可以尝试用播放器提供的软件转换功能。但用于这类声卡来说,本身的输出音质就不是很
理想,所以用不用更好的转换算法意义并不大,而且由于软件转换需要CPU做更多的事情,
性能肯定受到影响。
问:高频抖动又是什么意思?
一般的音频编解码器,都是用高比特来处理16比特的音源的,在最终播放输出的时候,
又得把高比特降低到16比特来输出(因为一般的声卡只支持16比特的输出),所以就会有量化
的副作用,就好比把一幅真彩的图片转成256色,如果转换的程序不好,就会有大块的很难
看的色块出现,于是就产生了一种抖动的技术,就是采用插值算法,在转换前用一些随机的
噪声来处理一下,以减少量化带来的副作用。
一般来说,如果音源和输出时的比特数相同,就不需要再用抖动了。并且抖动只对低于
16比特的输出比较好的效果。
三。文件标签
问:什么是文件标签,有什么用途?
文件标签就是指一个歌曲文件的标题(歌名)、艺术家(演唱者)等的信息,就好像是一个
人的姓名一样。有了文件标签,就能准确的知道这首歌的来源,就能通过这些信息准确的本
机或网上查找到相应的歌词文件。
问:如何填写或编辑文件标签?
通过千千的“文件信息”对话框,就能编辑标签信息。有两种方法可以显示这个对话框
:1。在播放某首歌的时候,在主窗口上右键的主菜单里选择“查看窗口”里的“文件信息
”,这时显示的就是当前正在播放的这首歌的文件信息;2。在播放列表里选中某首或某些
歌曲,在右键菜单中选择“文件信息”,就能显示选中文件的信
息了,如果你选的是多首歌,就能同时编辑多首歌的信息。
问:千千支持哪些类型的标签?
千千几乎支持所有已知的通用标签类型,比如对于MP3文件,就支持ID3v1/ID3v2、APE
;对于Ogg文件,就支持Ogg本身的Vorbis标签;而对于APE、MPC之类的新型文件格式,同样
支持APE标签,对于iTunes的MP4/M4A
格式,千千也同样支持它的标签类型;要注意的是,WMA的标签的写入需要安装微软的media
9或更新的版本,但
读取就不需要任何额外的支持了;而对于RM文件,千千目前只支持最基本的几个标签字段。
问:千千嵌入的歌词是怎么回事,和标签有关吗?
千千嵌入的歌词就是以标签的形式保存在歌曲文件里的,字段名是Lyrics,对标签的
操作对嵌入的歌词
同样有效。
问:如何在播放列表的歌曲标题里显示我想要显示的标签字段?
可以在千千选项里的“播放列表”页里设置“有标签时的格式”,只要用“%(英文字段
名)”这样的字符串就能表示任何你想要显示的字段了,当然前提是你得知道这些字段的英
文名称,你可以通过上面讲到的“文件信息”对话框的“高级模式”来看到所有这个文件里
已存在的标签字段的名字和值。
问:某些文件显示的是乱码的标签,有没有办法改正?
可以尝试使用“文件信息”里的内码转换功能来找到正确的内码。?
问:为什么千千静听在列表里查找文件比较慢?
为了节省资源占用并且提高文件添加到列表的速度,千千静听默认是当播放列表在显示
某个音频文件时才会读取信息,而像foobar2000这样的播放器则是在第一次添加时就读取了
所有文件的信息,所以查找时就不需要再读取了。事实上千千静听也提供了和foobar2000
一样的文件信息操作方式,请在选项里的“播放列表”页中将读取信息改为“添加”时,并且选
上“缓存文件信息到播放列表”。?
四.歌词
问:怎么使用歌词秀,为什么我自己从网上下载的歌词就不能显示?
歌词文件有一定的格式,一般以LRC和TXT后缀,每句歌词前面有[00:00.00]这样的时间
标签,如果没有这些标签的歌词是无法显示的,可以用千千静听自带的歌词编辑器来为每句
歌词加入时间标签,保存后就可以正常显示了。建议把歌词文件以“歌手名 -
歌曲名.lrc”这样的方式命名,再把存放这些歌词的目录加到千千的本地搜索文件夹里,以
后就不用再一一关联了,当然你的歌曲文件应该也有相应的歌手名和歌曲名信息,这样才能
保证播放器找到正确的歌词文件。
问:为什么歌词下载会失败?
有以下几种可能的原因:
1.文件信息不正确,以至于在搜索时无法正确匹配;
2.歌曲太新,以至于这些歌词网站都还没有收集歌词;
3.如果你安装了防火墙,可能网络请求被过滤而无法连接到歌词服务器;
4.歌词服务器可能出现问题,或者正在维护。
问:为什么没有让用户自己输入或选择歌词网站的功能?
歌词下载网站的搜索和下载方式都不相同,如果要实现用播放器来自动处理需要编写相
应的搜索和下载程序,并不是简单的输入一个网址就行了。
问:为什么我下载了正确的歌词,但下次播放还是显示错误的?
千千加载歌词的顺序是内嵌歌词-
❼ C语言怎么使用硬盘显卡声卡键盘鼠标
查查什么 dos高级编程指南吧
实际上这些不是语言的问题,是操作系统和硬件相关的问题啦
❽ C语言输出'\a'没听到响铃,代码没问题啊
是机箱的喇叭(不是你那连接在声卡上的音箱火耳机)响.
但是现在的很多机器没有蜂鸣器了.
在你开机的时候, 进Windows前, 是否能听到"滴~"的一声呢,
这个就是用来发那个声音的.
如果你开机的时候静悄悄, 那就很可能属于"现代的计算机", 也就是没有蜂鸣器的了.
❾ 如何用C语言播放音乐
首先要解压缩音频文件,这些文件的格式一般都是标准化的可以在网上面找到解压方法.
然后把解压得到的音频数据输出到声卡,这里需要硬件I/O操作的知识.把数据送到特定的I/O端口,然后声卡才能发声.
❿ 如何用C语言(或C++)关闭声卡驱动和打开声卡驱动,求代码
你是说控制声卡声音吗?
直接用c很麻烦,不过有个变通的方法。
搜索nircmd,下载,这个命令有很多功能,可以使用这个:
增大系统音量2000个单位值 (最大65535) nircmd.exe changesysvolume 2000
降低系统音量5000个单位值 (out of 65535) nircmd.exe changesysvolume -5000
设置系统音量为最大 nircmd.exe setsysvolume 65535
系统音量静音 nircmd.exe mutesysvolume 1
取消系统静音 nircmd.exe mutesysvolume 0
改变当前系统静音设置(静音和非静音之间切换) nircmd.exe mutesysvolume 2
main()
{
system("nircmd.exe mutesysvolume 1");
}
这样就可以是上卡静音了。