Android 11 上的 SoundPool 问题
Posted
技术标签:
【中文标题】Android 11 上的 SoundPool 问题【英文标题】:SoundPool issue on Android 11 【发布时间】:2020-09-23 17:41:31 【问题描述】:soundPool Api 似乎在 android 11 上无法正常工作。我听到的声音像是慢动作。有没有任何相关的问题?
我的代码
private SoundPool soundPool;
private int wonSound;
...
soundPool = new SoundPool.Builder().setMaxStreams(1).build();
wonSound = soundPool.load(this, R.raw.slot_win_1, 1);
...
soundPool.play(wonSound, 1, 1, 0, 0, 0);
【问题讨论】:
【参考方案1】:根据文档:
https://developer.android.com/reference/android/media/SoundPool#play(int,%20float,%20float,%20int,%20int,%20float)?
SoundPool 的函数 play() 将其作为最后一个参数:
float:播放速率(1.0 = 正常播放,范围 0.5 到 2.0)
因此,低于 1 的播放速率听起来会比原始声音慢。要以原始播放速率播放声音,您应该像这样调用 play():
soundPool.play(wonSound, 1, 1, 0, 0, 1);
【讨论】:
以上是关于Android 11 上的 SoundPool 问题的主要内容,如果未能解决你的问题,请参考以下文章
Android 游戏 - SoundPool 没有在 Motorola Droid X2 上播放声音
AudioTrack、SoundPool 或 MediaPlayer 我应该使用哪个?