您的位置:

c语言能传声吗,c语言能传声吗知乎

本文目录一览:

c语言调用声音的函数?

两个声音函数sound(),nosound()和延迟函数delay()由函数库

提供。

函数名:

sound

能:

以指定频率打开PC扬声器

法:

void

sound(unsigned

frequency);

程序例:

#include

int

main(void)

{

sound(7);

delay(10000);

nosound();

return

0;

}

如何在C语言中加入声音

这个不是用一句话两句话就能说清楚的

播放*.WMA文件的程序,在播放前首先需要在硬件端口210H~260H中查找是否安装了声卡,然后根据是否是立体声,采样精度的不同来提取声音样本,然后通过改写时钟中断并将数据输出到声卡数据输出端口来播放音乐.

建议你最好看一些相关方面的书

C语言发声函数

TC 试:

#includedos.h

#includeconio.h

#includestdlib.h

/* this founction plays sound until hit any key */

void mysound()

{

long freq ;

while(!kbhit()){/* while no keyboard hit, play sound */

for(freq=200L;freq2000L;freq+=200L){

sound(freq);/*play freq sound*/

delay(200);/*delay 200ms*/

}

}

nosound();/* stop playing */

}

void main()

{

mysound() ;

}

---------------

VC++ 试:

#include stdio.h

#include stdlib.h

#include windows.h

main()

{

Beep(523,500);

Beep(587,500);

Beep(659,500);

Beep(698,500);

Beep(784,500);

Sleep(500);

Beep(523,500);

Beep(587,500);

Beep(659,500);

Beep(698,500);

Beep(784,500);

}

------

wintc 试验上两个。

如何用C语言播放一段音频呢

可以使用PlaySound()函数播放wav声音,该函数原型位于windows.h中,

函数原型为:

BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);

参数pszSound是指定了要播放声音的字符串,该参数可以是WAVE文件的名字,或是WAV资源的名字,或是内存中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音。如果该参数为NULL则停止正在播放的声音。

参数hmod是应用程序的实例句柄,当播放WAV资源时要用到该参数,否则它必须为NULL。

参数fdwSound是标志的组合,各种可选的标志及意义如下所示。若成功则函数返回TRUE,否则返回FALSE。

播放标志以及含义:

SND_APPLICATION

用应用程序指定的关联来播放声音。

SND_ALIAS

pszSound参数指定了注册表或WIN.INI中的系统事件的别名。

SND_ALIAS_ID

pszSound参数指定了预定义的声音标识符。

SND_ASYNC

用异步方式播放声音,PlaySound函数在开始播放后立即返回。

SND_FILENAME

pszSound参数指定了WAVE文件名。

SND_LOOP

重复播放声音,必须与SND_ASYNC标志一块使用。

SND_MEMORY

播放载入到内存中的声音,此时pszSound是指向声音数据的指针。

SND_NODEFAULT

不播放缺省声音,若无此标志,则PlaySound在没找到声音时会播放缺省声音。

SND_NOSTOP

PlaySound不打断原来的声音播出并立即返回FALSE。

SND_NOWAIT

如果驱动程序正忙则函数就不播放声音并立即返回。

SND_PURGE

停止所有与调用任务有关的声音。若参数pszSound为NULL,就停止所有的声音,否则,停止pszSound指定的声音。

SND_RESOURCE

pszSound参数是WAVE资源的标识符,这时要用到hmod参数。

SND_SYNC

同步播放声音,在播放完后PlaySound函数才返回。

************************************************************

例如我想播放在C:\WINDOWS\Media目录中的 Windows XP 启动.wav 文件

程序如下:

#include windows.h

#include stdlib.h

int main(int argc, char* argv[])

{

PlaySound("C:\\WINDOWS\\Media\\Windows XP 启动.wav", NULL, SND_FILENAME | SND_ASYNC);

system("pause");

return 0;

}

c语言中让电脑发出声音的是什么

这个函数是直接操作PC的喇叭,让其以一定的频率发出声音

参数为频率,可以这样用 sound(100);

改变参数大小可以发出不同的音

C语言中的这个函数是不能用来播放指定的音频文件的,如果需要,可以调用系统API函数。

C 语言:能不能用C语言编写程序来播放音频文件?

一.在程序中直接播放声音文件

在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.W***文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:soundmusic.wav可以用sndPlaySound ("c:\sound\music.wav",SND_ASYNC);或PlaySound("c:\sound\music.wav",NULL, SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。

二.将声音文件加入到程序中

在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.W***文件的声音播放。要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件。

具体步骤入下:

1.获得包含资源的模块句柄:

HMODULE hmod=AfxGetResourceHandle();

2.检索资源块信息:

HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T("W***E"));

3. 装载资源数据并加锁:

HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);

LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);

4.播放声音文件:

sndPlaySound(lpMemSound,SND_MEMORY));

5.释放资源句柄:

FreeResource(hGlobalMem);