android - AudioTrack : AudioFlinger could not create track, 状态:-32

标签 android c android-mediaplayer soundpool audioflinger

我有一个应用程序播放短声音 <5 秒,但有时音频不播放(没有声音),音频文件是 ogg,比特率为 128kbps,采样率为 44100hz,我尝试在谷歌上搜索但没有没有找到解决办法,这里是音频不播放时的日志

2019-02-25 14:02:39.019  W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client; transfer 4, track 44100 Hz, output 48000 Hz
2019-02-25 14:02:39.021 735-2284/? W/IAudioFlinger: CREATE_TRACK: cannot retrieve shared memory
2019-02-25 14:02:39.022  E/AudioTrack: AudioFlinger could not create track, status: -32
2019-02-25 14:02:39.023  E/SoundPool: Error creating AudioTrack

状态-32是什么意思,有人知道吗?

编辑:我终于知道错误代码 32 是什么意思了 How to know what the 'errno' means?

但是什么可能导致错误 32(Broken Pipe)?

最佳答案

您现在可能已经解决了,但我认为您只需要确保关闭声音池以释放资源即可。

soundPool.release()
soundPool = null

关于android - AudioTrack : AudioFlinger could not create track, 状态:-32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54877969/

相关文章:

android - 无法从 SD 卡启动歌曲

android - setPlaybackParams 防止在 API 23 上开始播放

android - 在 Photoshop 文件中,字体大小是 20px,在 android 中,sp 是什么?是一样的吗?是指 20px= 20sp 还是其他?

android - 谷歌控制台和分析中安装数量的差异,这是常见的还是有什么问题?

java - 尽管使用了 NTP 偏移量,但设备在其他几秒后启动指令

c - linux中如何将文件从一个文件夹移动到不同的文件夹

android - 发布 2 个版本应用程序的最佳实践

c - 为什么即使我包含 math.h header ,我也会收到 "undefined reference to sqrt"错误?

c - 在 C/Go 中从 Google Chrome 获取标签页信息

android - 如何使用 Android Webview 在后台播放 YouTube?