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

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);

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

时间: 2024-12-10 04:34:41

FMOD在Android玩音响系统的抖动问题的相关文章

android 玩转ContentProvider之二--实现多个ContentProvider对多张表进行操作

SQLite数据库直接操作类: DatabaseHelper.java [java] view plaincopy package com.jacp.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import com.jacp.demo.provider.Provide

Android实战简易教程-第六十七枪(android动画实现窗口抖动效果)

在制作引用是我们可以引入android动画,让用户感觉到交互性更强,下面我们通过一个实例讲解一下如何使用android动画实现窗口的抖动效果. 1.引入动画文件: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@ani

[android] 手机卫士输入框抖动和手机震动

查看apiDemos,找到View/Animation/shake找到对应的动画代码,直接拷贝过来 当导入一个项目的时候,报R文件不存在,很多情况是xml文件出错了 Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake); et_phone.startAnimation(shake); 动画的xml文件shake.xml android:interpolator="@anim/cycle_7" interpo

Android玩转百度地图Sha1获取正确姿势?

场景一 由于近期项目钟要用到定位功能因此肯定须要用到地图以及地位功能,相信大家也知道眼下国内比較出名的地图像百度.高德.腾讯等这些还是用到比較多的.于是思考了一下决定还是用百度,相信老司机们都知道的哈! 第一步到百度开发人员平台注冊一个账号通常是手机号或者短信动态验证码登录我注冊了所以这里不再赘述 第二步就是创建一个应用程序这个名字通常是任意取的这个不用太在意例如以下图所看到的 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTU5NTAzMj

android 玩愤怒小鸟等全屏游戏时TP失效

1.tp driver的tpd_down()和tpd_up()函数中不需要上报id号,上层会自动进行匹配: 2.tpd_up()函数中只需要上报BTN_TOUCH和mt_sync信息,其他信息不用上报,如下: static  void tpd_up(int x, int y,int *count) { input_report_key(tpd->dev, BTN_TOUCH, 0); //printk("U[%4d %4d %4d] ", x, y, 0); input_mt_s

android 玩愤怒的小鸟等游戏的时候全屏TP失败

1.tp driver的tpd_down()和tpd_up()函数不需要进行报告id号码.自己主动顶级赛: 2.tpd_up()功能只需要报告BTN_TOUCH和mt_sync信息,其他信息未报告,如下面: static  void tpd_up(int x, int y,int *count) { input_report_key(tpd->dev, BTN_TOUCH, 0); //printk("U[%4d %4d %4d] ", x, y, 0); input_mt_sy

android控件抖动效果

原文:android控件抖动效果 源代码下载地址:http://www.zuidaima.com/share/1550463689706496.htm android实现控件抖动效果 源代码截图:

cocos2dx for iOS fmod的音效引擎接入

上一个博客我写了一篇fmod的android接入过程,这一次介绍一下ios接入fmod的方法. 首先下载fmod的api包,解压后,在FMOD Programmers API/api文件夹下有lowlevel和studio,将两个文件夹里面的inc和lib 拷贝出来,放到自己的项目ios文件夹下,在项目的Build Settings->Header Search Paths填上lowlevel 和 studio 里的inc文件夹 的路径. 设置Build Settings->Library S

Android Drawable总结

Drawable有几种 1:Bitmap 支持格式:.png (preferred), .jpg (acceptable), .gif (discouraged). 将Bitmap文件放在drawable文件夹下会被AAPT自动优化 2:XML Bitmap An XML bitmap is a resource defined in XML that points to a bitmap file. The effect is an alias for a raw bitmap file <?