社区
游戏开发
帖子详情
菜鸟问题:如何录制声音到缓冲区中?
liuxiaowei
2001-10-10 01:23:22
VC++
...全文
73
3
打赏
收藏
菜鸟问题:如何录制声音到缓冲区中?
VC++
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liuxiaowei
2001-10-11
打赏
举报
回复
请问lhuchong(令狐虫)大虾
缓冲区大小有限制吗?
Jneu
2001-10-10
打赏
举报
回复
UP
lhuchong
2001-10-10
打赏
举报
回复
int Record(const char* buffer,int* bufferlen)
{
MMRESULT mmResult;
char soundbuffer[SIZE];
/* write */
LPWAVEHDR header = (WAVEHDR*)malloc(sizeof(WAVEHDR));
memset(header, 0, sizeof(WAVEHDR));
header->lpData = (char *)soundbuffer;
header->dwBufferLength = SIZE;
header->dwFlags = WHDR_DONE;
header->dwUser = (DWORD)0;
mmResult = waveInPrepareHeader(hWaveIn, header, sizeof(WAVEHDR));
mmResult = waveInAddBuffer( hWaveIn, header, sizeof(WAVEHDR));
if ( mmResult != MMSYSERR_NOERROR){
puts("waveInAddBuffer Error");
return -1;
}
//MMSYSERR_INVALHANDLE
mmResult = waveInStart( hWaveIn);
if(mmResult != MMSYSERR_NOERROR)
{
puts("waveInStart Error");
return -1;
}
Sleep(1000);
mmResult = waveInStop( hWaveIn);
if(mmResult != MMSYSERR_NOERROR)
{
puts("waveInStop Error");
return -1;
}
memcpy( (void*)buffer ,header->lpData, header->dwBytesRecorded);
*bufferlen = header->dwBytesRecorded;
if( waveInUnprepareHeader( hWaveIn, header, sizeof(WAVEHDR)) != MMSYSERR_NOERROR)
{
puts("waveInUnprepareHeader Error");
return -1;
}
return 0;
}
实例32 控制混音效果
实例32 控制混音效果vc
菜鸟
专用,
菜鸟
课设也是可以用的
菜鸟
修炼笔记-alsa-调节音频音量大小
alsa-调节音频音量大小前言一。方法一:直接放大缓存
中
的数据1. 基本原理2. 相关尝试和结果2.1 在播放前放大音频缓存数据2.2 在
录制
前放大缓存二。方法二:在linux终端直接设置alsa的参数。1. 基本原理2. 过程2.1 获取可以设置的参数2.2 获取各个参数当前的值2.3 设置`播放音量参数`和`录音音量参数`参考资料: 前言 将使用alsa的
录制
功能
录制
出来的音频文件播放后发现,
声音
音量太小了,所以希望将播放的音量增大。于是,我便在网上搜索了一些相关的资料,整理如下。 在网络上找到的相关
電腦基本常識-----菜鳥必讀版
0,Q:计算机是哪一年发明的?A:计算机是 1946 年在美国发明的。而电脑(微机)的出现是 20 世纪 70 年代。1,Q:快速改变 Windows 窗口状态:A:双击窗口上方的标题栏(通常为蓝色),可以使窗口在最大化和常规大小间切换。2,Q:一次打开编辑众多 Windows 系统文件:A:在“开始/运行”
中
输入“sysedit”,确定,可以一次打开五个系统文件进行编辑:autoexec.bat
菜鸟
修炼笔记-alsa-
录制
和播放的详细过程
alsa-
录制
和播放的详细过程前言一。播放基本原理和过程(伪代码)1. 打开pcm音频文件2. 打开音频设备参考资料 前言 网上很多资料都提到怎么
录制
和播放wav音频文件,但是很少提及原始pcm音频文件的
录制
和播放,下面我将结合网上资料和自己的理解梳理用alsa
录制
和播放原始pcm音频文件的原理和过程。 一。播放基本原理和过程(伪代码) 1. 打开pcm音频文件 fp = fopen(DEFAULT_PATH, "rb");//DEFAULT_PATH为pcm音频文件的地址 2. 打开音频设备 snd
【防止404】【转】Alsa音频编程【精华】
Jaroslav Kysela早先写了一个声卡驱动,并由此开始了ALSA项目,随便,更多的开发者加入到开发队伍
中
,更多的声卡得到支持,API的结构也得到了重组。但偶尔的原因导致
缓冲区
空, 如CPU忙,增大该值,继续播放
缓冲区
的历史数据,而不关闭再启动硬件传输(一般此 时有明显的
声音
卡顿),可以达到更好的体验。对于采样率而言,
声音
硬件并不一定就精确地支持我们所定的采样率,但是我们可以使用函数 snd_pcm_hw_params_set_rate_near来设置最接近我们指定的采样率的采样率。
游戏开发
8,325
社区成员
23,684
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章