Android AudioTrack 中的“status -12”是啥意思?

Posted

技术标签:

【中文标题】Android AudioTrack 中的“status -12”是啥意思?【英文标题】:What does "status -12" mean in Android AudioTrack?Android AudioTrack 中的“status -12”是什么意思? 【发布时间】:2012-09-18 07:06:45 【问题描述】:

在使用 android soundpool/audioTrack 时,我不断收到以下错误:

AudioFlinger could not create track, status: -12
Error creating AudioTrack

谁能解释-12 是什么?是源代码中某个枚举的值吗?

我已经看到其他处理错误-12 的问题,但我没有明确地看到该常量实际代表什么。有人知道 AudioFlinger 的可能状态列表吗?我也看到过错误-22,但我也不知道这是什么意思。

由源代码或文档支持的答案是最好的,但我会在这一点上收集我能获得的任何信息。

【问题讨论】:

AudioFlinger could not create track. status: -12的可能重复 【参考方案1】:
-12 is ENOMEM Not enough space

-22 is EINVAL Invalid argument. 

这些是标准的 POSIX 错误代码

【讨论】:

【参考方案2】:

-12 表示您不能再创建轨道。 Android Audio Framework 只允许每个混音器线程同时播放 32 个音轨(包括播放/停止/暂停/...)。

尝试在后台删除一些应用程序,您可以创建一个。

【讨论】:

以上是关于Android AudioTrack 中的“status -12”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Android音频系统AudioTrack使用方法详解

Android音视频之AudioTrack播放音频

Android 音频开发——AudioTrack播放

节拍器android应用AudioTrack releaseBuffer()错误

调节 Android AudioTrack 播放速度

Android 音频系统:从 AudioTrack 到 AudioFlinger