AudioFlinger 无法创建轨道,状态:-12

Posted

技术标签:

【中文标题】AudioFlinger 无法创建轨道,状态:-12【英文标题】:AudioFlinger could not create track, status: -12 【发布时间】:2017-09-15 08:35:47 【问题描述】:

我正在尝试使用 audioTrack 播放音频流,所以我创建了这样的 audioTrack:

  public AudioTrack create() 
    if (mTrack != null) 
        if (mTrack.getState() == AudioTrack.STATE_INITIALIZED) 
            return mTrack;
         else 
            mTrack.release();
            mTrack = null;
        
    

    mBuffSize = AudioTrack.getMinBufferSize(Settings.SAMPLE_RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT);
    mTrack = new AudioTrack(AudioManager.STREAM_MUSIC, Settings.SAMPLE_RATE,
            AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, mBuffSize, AudioTrack.MODE_STREAM);
    if (mTrack.getState() == AudioTrack.STATE_INITIALIZED) 
        mTrack.play();
        return mTrack;
    
    return null;

当我完成时 我这样叫停止:

public void stop() 
    if (mTrack != null) 
        if (mTrack.getState() == AudioTrack.STATE_INITIALIZED) 
            mTrack.release();
            mTrack = null;
        

    


在某些设备中,当我经常创建和停止时,我会得到这个:

AudioFlinger 无法创建音轨,状态:-12。

我在 *** 中搜索过这个问题很多次,但所有的答案都是关于 soundpool 的,我没有使用 soundpool

任何帮助将不胜感激!(我是中国人,我的英语不好)

【问题讨论】:

不要发布你的代码截图..直接粘贴你的代码sn-ps 谢谢!但我不知道该怎么做,那么这个怎么样? 是的..现在好多了.. 您是否在清单中添加了权限? 我需要添加女巫权限吗?我不确定,但它在其他潜水器中正常运行 【参考方案1】:

添加

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>

播放音频流。

【讨论】:

以上是关于AudioFlinger 无法创建轨道,状态:-12的主要内容,如果未能解决你的问题,请参考以下文章

LibGDX:AudioFlinger 无法创建轨道,状态 -12

SoundPool“AudioFlinger 无法创建音轨,状态:-12”

如何解决 AudioFlinger 服务器死机!安卓系统出错?

视频引擎无法为视频轨道创建缩略图

Android SoundPool:AudioFlinger 错误

AudioPolicyService启动过程分析(android_audio)