[RK3288][Android7.1] 修改最大可用音轨数据

[RK3288][Android7.1] 修改最大可用音轨数据
Platform: Rockchip
OS: Android 7.1.2
Kernel: 4.4

需求:
在使用RK3288平台时,由于在使用音乐教学类应用时,需要同时使用到18个AudioTrack实例进行音频播放,因此需要在现有的最大14音轨的基础上进行权限放大。

实现:
通过连续实例化AudioTrack对像,当出现实例化失败时,跟踪错误信息打印发现在实例过程中,在从AudioFlinger中请求时,Flinger对每个Uid的最大Track实例限制在了14个,防止由于单个Uid占用全部Track实例而出现其余应用无法再申请实例的情况,导致无法播放音频

 E AudioFlinger: no more track names available
 E AudioFlinger: createTrack_l() initCheck failed -12; no control block?
 E AudioTrack: AudioFlinger could not create track, status: -12
 E AudioTrack-JNI: Error -12 initializing AudioTrack
 E android.media.AudioTrack: Error code -20 when initializing AudioTrack.
 I test: 当前可用音轨:14

因些直接修改7.1\frameworks\av\services\audioflinger\Threads.h中最大限制数量。
在这里插入图片描述
成功将最大音轨开放到最大18个

E AudioFlinger: no more track names available
E AudioFlinger: createTrack_l() initCheck failed -12; no control block?
E AudioTrack: AudioFlinger could not create track, status: -12
E AudioTrack-JNI: Error -12 initializing AudioTrack
E android.media.AudioTrack: Error code -20 when initializing AudioTrack.
I test: 当前可用音轨:18

你可能感兴趣的:(Rockchip)