立即学习:https://edu.csdn.net/course/play/6842/172189?utm_source=blogtoedu

# 记录一下今天踩到的两个坑:



1. Android 10 系统上,会出现下面这个问题:
 

E/AudioEffect: set(): AudioFlinger could not create effect c2e5d5f0-94bd-4763-9cac-4e234d06839e / ec7178ec-e5e1-4432-a3f4-4657e6795210, status: -1E/libOpenSLES: Effect initCheck() returned -19E/libOpenSLES: EnvironmentalReverb effect initialization failed

首先排查一下权限是否正确获取到了,如果权限配置正确,这个问题可以忽略掉,不影响最后的播放。

2. 无法播放出声音

 

因为在播放的时候,每次 Enque 进去的是获取到的 size 的大小,代码如下:

int size = getPcmData(&mBuffer);if (nullptr != mBuffer) {        result = (*mDataQueue)->Enqueue(mDataQueue, mBuffer, size);    }

发现size的值始终为1,排查后发现是执行

`fread` 时,将 count 和 size 参数写反了,写成下面这样就可以了:
 

size = fread(mOutBuffer, 1,  44100 * 2 * 2, mInput);

 

也很奇怪为什么写反了就读不到那么多数据,不应该是 count * size 的吗?写反了竟然不对。

 

算是踩到的两个坑,希望能帮助到遇到相同问题的同学

更多相关文章

  1. FAQ00366]如何使Android应用程序获取系统权限
  2. android调用shell命令及权限问题
  3. android源码修改USB权限,去掉USB弹出框
  4. 【从头学android】在两个Activity之间实现界面切换
  5. android 模拟器获得root 权限
  6. Android应用程序获取ROOT权限的方法(android中如何通过代码检测
  7. android(7)(写数据权限)
  8. Android 开机自启和后台自启权限
  9. android典型代码系列(十)------获取一个应用程序的权限信息(反射

随机推荐

  1. Android 2.3 StatusBar 分析(二)
  2. android 架构模式MVC,MVP,MVVM(2)
  3. 在MAC OS下设置ANDROID_HOME
  4. Android Material Design之TextInputLayo
  5. android recyclerview adaper封装
  6. android popwindow仿微信右上角弹出框,dia
  7. Android(安卓)客户端通过内置API(HttpClie
  8. android开发新浪微博客户端
  9. Android 手绘 - 支持保存为图片
  10. Android常用控件之ExpandableList的使用