没有合适的资源?快使用搜索试试~ 我知道了~
pcm混音函数,可直接使用,针对相同采样率的pcm进行混音操作,使用归一化混音原理,效果不错,可直接使用,入参出参都使用文件写法
资源推荐
资源详情
资源评论
void Mix_Audio(char** src_data,
char* mix_data,
int channels,
int buffer_size) {
//归一化混音
int const MAX = 32767;
int const MIN = -32768;
double f = 1;
int output;
int i = 0, j = 0;
for (i = 0; i < buffer_size / channels; i++) {
int temp = 0;
for (j = 0; j < channels; j++) {
//两个文件对应音轨值相加
temp += *(short*)(src_data[j] + i * channels);
}
output = (int)(temp * f);
if (output > MAX) {
f = (double)MAX / (double)(output);
output = MAX;
}
if (output < MIN) {
f = (double)MIN / (double)(output);
output = MIN;
}
if (f < 1) {
char* mix_data,
int channels,
int buffer_size) {
//归一化混音
int const MAX = 32767;
int const MIN = -32768;
double f = 1;
int output;
int i = 0, j = 0;
for (i = 0; i < buffer_size / channels; i++) {
int temp = 0;
for (j = 0; j < channels; j++) {
//两个文件对应音轨值相加
temp += *(short*)(src_data[j] + i * channels);
}
output = (int)(temp * f);
if (output > MAX) {
f = (double)MAX / (double)(output);
output = MAX;
}
if (output < MIN) {
f = (double)MIN / (double)(output);
output = MIN;
}
if (f < 1) {
资源评论
看着起点
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功