码迷,mamicode.com
首页 > 移动开发 > 详细

FMOD在Android玩音响系统的抖动问题

时间:2015-07-11 21:30:02      阅读:1192      评论:0      收藏:0      [点我收藏+]

标签:

1. 基本介绍

    在Android升级系统Android4.4之后,发现FMOD在Android音会出现抖动。导致声音不正常。边赫赫有名的"极品飞车"都有问题。

    经查验,是FMOD的DSP Buffer Size与Android中的Audio HAL的period size不匹配造成的。

    fmodex.so中默认的DSP Buffer Size是512,据悉如今Audio HAL的period size都扩大至1024、或2048、或4096。

2. 解决方式

    为了使自己的游戏具有更好的兼容性。须要设置fmod DSP Buffer Size,如在我的盒子上的解决方式例如以下:

FMOD_RESULT result = FMOD_OK;

unsigned int bufferlength;
int numbuffers;  

result = FMOD_System_Create(&gSystem);
CHECK_RESULT(result);


result = FMOD_System_GetDSPBufferSize(gSystem,&bufferlength,&numbuffers);
CHECK_RESULT(result);
LOGD("IDONG:bufferlength=%d,numbuffers=%d",bufferlength,numbuffers);

result = FMOD_System_SetDSPBufferSize(gSystem,4096,4); // must be before FMOD_System_Init
CHECK_RESULT(result);


result = FMOD_System_Init(gSystem, 32, FMOD_INIT_NORMAL, 0);
CHECK_RESULT(result);










版权声明:本文博客原创文章,博客,未经同意,不得转载。

FMOD在Android玩音响系统的抖动问题

标签:

原文地址:http://www.cnblogs.com/lcchuguo/p/4639345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!