AudioFlinger无法创建跟踪,状态:-12
问题描述:
我试图发挥使用audioTrack音频流,所以我创建audioTrack这样的:AudioFlinger无法创建跟踪,状态:-12
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
任何帮助将不胜感激!(我是中国人,我的英语不是好)
答
添加
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>
播放音频流。
+0
我已经在...之前添加了此权限...谢谢 –
不要张贴你的代码截图。直接点击你的代码片段 – Akshay
谢谢!但我不知道如何做到这一点,那么如何呢? –
是的..现在更好.. – Akshay