首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioFlinger无法创建磁道,状态:-12

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

Stack Overflow用户
提问于 2017-09-15 16:35:48
回答 1查看 879关注 0票数 1

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

代码语言:javascript
复制
  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;
}

当我完成时,我像这样调用stop:

代码语言:javascript
复制
public void stop() {
    if (mTrack != null) {
        if (mTrack.getState() == AudioTrack.STATE_INITIALIZED) {
            mTrack.release();
            mTrack = null;
        }

    }

}

在某些设备中,当我频繁创建和停止时,我会得到以下信息:

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

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

非常感谢任何人的帮助!(我是中国人,我的英语不好)

EN

回答 1

Stack Overflow用户

发布于 2017-09-15 17:45:59

添加

代码语言:javascript
复制
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>

播放音频流。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46235182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档