【问题标题】:AudioFlinger could not create track, status: -12AudioFlinger 无法创建轨道,状态:-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。

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

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

【问题讨论】:

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

标签: java android audioflinger


【解决方案1】:

添加

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

播放音频流。

【讨论】:

    猜你喜欢
    • 2012-08-11
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多