积分银行
道具中心
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
APlayer 开发者社区首页
论坛
帖子
用户
版块
帖子
搜索
热搜:
SimplePlayer
exui
视频时长
黑屏
有声音
APlayer 开发者论坛
>
APlayer 讨论区
>
Aplayer怎么用SoundTouch对音频实时变调?
发帖
回复
返回列表
新帖
4262
阅读
0
回复
Aplayer怎么用SoundTouch对音频实时变调?
[复制链接]
上一主题
下一主题
离线
xyc0714
UID:50589
注册时间
2017-05-16
最后登录
2017-06-03
在线时间
1小时
发帖
8
搜Ta的帖子
精华
0
播放币
4
威望
6
访问TA的空间
加好友
用道具
新手
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
使用道具
楼主
发表于: 2017-05-26
复制代码
EXPORT_FUNCTION void APlayerPluginAudioFrame(AUDIO_FRAME_INFO * pFrame)
{
HANDLE mSoundTouch = soundtouch_createInstance();//初始化对象
soundtouch_setChannels(mSoundTouch,1);//设置声道
soundtouch_setSampleRate(mSoundTouch, pFrame->bit_per_sample);//设置采样频率
soundtouch_setPitchSemiTones(mSoundTouch, 10);//设置音调
auto len = pFrame->sample_count * pFrame->bit_per_sample;
float *touch_buffer = new float[len];
for (int i = 0; i < len; i++)
{
touch_buffer[i] = (short)((pFrame->frame[i] + 0x80) << 8); //这里不知道怎么写
}
soundtouch_putSamples(mSoundTouch, touch_buffer, len);
int receiveCount = 0;
int pcm_data_size = 0;
do
{
// 接收处理后的sample
receiveCount = soundtouch_receiveSamples(mSoundTouch, touch_buffer, len);
for (int i = 0; i < receiveCount; i++)
{
pFrame->frame[pcm_data_size] = (BYTE)(((short)touch_buffer[i] >> 8) - 0x80);//这里不知道怎么写
pcm_data_size++;
}
} while (receiveCount != 0);
soundtouch_flush(mSoundTouch);
do
{
// 接收处理后的sample
receiveCount = soundtouch_receiveSamples(mSoundTouch, touch_buffer, len);
for (int i = 0; i < receiveCount; i++)
{
pFrame->frame[pcm_data_size] = (BYTE)(((short)touch_buffer[i] >> 8) - 0x80);//这里不知道怎么写
pcm_data_size++;
}
} while (receiveCount != 0);
pFrame->sample_count = pcm_data_size / pFrame->bit_per_sample;
delete[](touch_buffer);
}
Aplayer插件的导出函数输出的数据是一个char型8位数据,而SoundTouch要的是16位的float型的音频数据,两者不兼容,不但调没变,还搞出一堆杂音,不知如何处理。
共
条评分
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
发帖
回复
返回列表
http://aplayer.open.xunlei.com/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
APlayer 开发者交流
APlayer 讨论区
APlayerUI 讨论区
APlayer Android 讨论区
APlayer iOS 讨论区
APlayer MAC 讨论区
APlayer Phone & Metro 讨论区
开发交流
第三方 APlayer 产品交流
快搜影音讨论区
星影影视讨论区
神播讨论区
视觉影音讨论区
FlyPlayer 讨论区
圣城影视讨论区
快眼看看讨论区
BBPlayer 讨论区
关闭
关闭
选中
1
篇
全选