gpt4 book ai didi

android - 单击几次后 SoundPool 不播放声音

转载 作者:太空狗 更新时间:2023-10-29 14:00:51 27 4
gpt4 key购买 nike

当我点击按钮时,我的应用程序会播放声音,但持续点击一段时间后就不再播放了。也许是内存问题?你能解决我的问题吗?这是通过 SoundPool 实现的播放声音:当我单击按钮时,我调用了播放方法:并且播放方法在后台线程中运行

private void play(int resId) {  
soundPool = buildBeforeAPI21();//TODO: refactor with deprecated constructor
soundPool.load(activity, Integer.parseInt(resId), 1);
}

public SoundPool buildBeforeAPI21() {
if (soundPool == null) {
soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
if (status == 0) {
soundPool.play(sampleId, 1.0f, 1.0f, 1, 0, 1.0f);
}
}
});
}
return soundPool;
}

最佳答案

不要在每次点击时创建一个新的 SoundPool。那是非常浪费的。改为这样做:

1) 只创建一次 SoundPool2) 加载所有你想播放的声音,一次3)等待所有声音加载4) 只需在每次点击时调用 soundPool.play()。

关于android - 单击几次后 SoundPool 不播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com