我有一个菜单活动,它启动第二个活动,播放声音并在开始时显示图形。但是,声音有时不起作用。如果我在调试中运行代码,有时调试会停止在播放命令中,在播放声音和代码进行之前,按两次或三次“跳过”按钮。初始播放后,每个播放命令都能正常工作。
我的代码结构是:
Class Cards
CARD objects with associated graphics and sound
soundpool
method PlaySound(current card)
Menu Activty>
select options and launch Main Activity
Main activity>
cards.PlaySound()
由于声音与卡片对象和类相关联,我需要在该活动中使用声池来使用它们,所以我从主要活动中调用play方法。
建立音池的时间是否有问题?在调用加载资源之后执行播放声音的调用,这是在同一个线程中,所以在我的理解中执行流程是:
Main Activity > Create Cards
Create Cards > create soundpool
Create Cards > load all assets, images and sound
Create Cards > return to Main Activity
Main Activity > call cards.PlaySound
Create Cards > PlaySound that has been loaded already