导航:首页 > 版本升级 > c语言如何读取wav文件

c语言如何读取wav文件

发布时间:2023-08-06 21:49:57

Ⅰ 怎么用c语言播放特定目录里的wav文件

用C语言播放音乐,一般需要额外的库或者调用系统的API函数。
以Windows为例,可以通过PlaySound函数播放wav格式的音乐。示例如下,代码在vc6.0中编译通过。
#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib, "WINMM.LIB")
int main()
{
PlaySound(TEXT("1.wav"),0,SND_FILENAME); //1.wav是要播放的音乐文件
return 0;
}
如果想播放mp3音乐可以使用如下代码。
注意:生成程序后,请在cmd中执行此程序,不要在vc/vs的IDE中运行。#include <windows.h>
#include <mmsystem.h>
#include <stdio.h>
#pragma comment(lib, "Winmm.lib")
int main(int argc, char *argv[])
{
//绝对地址形式
TCHAR fileName[]="ganlusi.mp3";
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#中的Form1.resx(资源文件)里面存放了*.wav的音频文件,怎么读取和播放

visual studio 2010环境下在C#程序中嵌入、播放 wav音频文件 图文介绍
分类: C#2012-08-24 09:25 511人阅读 评论(1) 收藏 举报
声音资源文件可以放在外部调用播放,另一种方法是直接嵌入到程序里面再调用播放。
想在制作的小工具程序中加入声音,而且希望整个程序就只是一个可执行文件,可采用第二种方法。

1、嵌入wav音频文件

新建一个windows窗体应用程序,
在解决方案资源管理器中选中需要加入wav声音的项目,选择该项目下的【properties】文件夹中的“recourse.rexs”,

双击打开,出现下图所示画面:
然后点击【添加资源】旁边的倒三角符号,选择【添加现有文件】,找到想要添加的music.wav声音文件添加进去,然后发现右边的解决方案资源管理器项目中的【resource】文件夹,里面增加了一个文件music.wav。
我们在左边的resource.resx页,选中音乐文件music.wav,
右下角会出现music.wav文件的属性框,如下图所示
把【在编译时链接】那一项选择为【嵌入在.resx】。就完成了wav音频资源文件的嵌入。

2、播放wav音频文件

使用SoundPlayer类来实现
在程序开头引用库:
using System.Media;
然后在你想要播放音乐的地方加入代码:
SoundPlayer sp = newSoundPlayer(WindowsFormsApplication1(项目名).Properties.Resources.music);
sp.Play();
然后调试运行试试看,是否发出你想要的声音了?

当然,你会发现生成的exe文件大了些,因为声音资源已经嵌入到程序里面了。

Ⅲ 如何用C++打开.wav音频文件并读出数据

有例子的:有源代码的。
例子1:在VC中如何播放大型回WAV文件答
http://school.cfan.com.cn/pro/c/2006-12-03/1165123635d26810.shtml
例子2:
http://www.vckbase.com/document/viewdoc/?id=1800

Ⅳ 怎样用c语言读取WAV文件振幅信息

C也能像matlab一样读取wav格式文件!
用外置库libsndfile,可以读取数据,频率,通道等等
以下是一段读取sample.wav,将数据存入double格式的array:
#include "sndfile.h"
#pragma comment(lib, "libsndfile-1.lib")
void readwav(double output[length]){
SNDFILE *sf;
SF_INFO info;
int num_channels;
int num, num_items;
double *buf;
int f,sr,c;
int i,j;

info.format = 0;
sf = sf_open("sample.wav",SFM_READ,&info);
if (sf == NULL){
printf("Failed to open the file.\n");
exit(-1);
}

f = info.frames;
sr = info.samplerate;
c = info.channels;
printf("frames=%d\n",f);
printf("samplerate=%d\n",sr);
printf("channels=%d\n",c);
num_items = f*c;
printf("num_items=%d\n",num_items);

buf = (double *)malloc(num_items*sizeof(double));
num = sf_read_double(sf,buf,num_items);
sf_close(sf);
printf("Read %d items\n",num);

for (i = 0; i < num; i += c){
for (j = 0; j < c; ++j){
if ((i+j)<length) {
output[i+j] = buf[i+j];
}
}
}
}

Ⅳ 如何在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);

阅读全文

与c语言如何读取wav文件相关的资料

热点内容
诛仙62坐骑怎么升级到63 浏览:926
linux以日期查看日志记录 浏览:446
工业大数据是什么东西 浏览:881
魅族note3怎么重置网络 浏览:510
c语言程序设计模 浏览:92
儿童怎么做可编程机 浏览:603
数据计算属于什么统计学 浏览:921
07word怎么去掉标记 浏览:979
qq缓存的数据是什么 浏览:348
LED主Kv文件多少兆 浏览:856
苹果edge怎么删除下载文件 浏览:471
sas逻辑回归代码 浏览:572
用于keil下的stc器件数据库 浏览:400
新闻网站后台如何操作前台 浏览:539
在剪映app中怎么查看视频尺寸 浏览:9
linux文件成分包括 浏览:886
文件转换免费的软件 浏览:644
linuxwpsxlsx 浏览:482
小米手机怎么上移动网络连接失败怎么办 浏览:598
win10系统打开java 浏览:479

友情链接