Code the SoundEngine
Fortunately, the SoundEngine
class holds no surprises. This is essentially the exact same class as we coded in the Scrolling Shooter project. The only exceptions are that we load different sound effects and the methods which play the sound effects have different names and play different sounds. We have also made it a Singleton
to avoid the long parameter lists that we had in the previous project when we passed a SoundEngine
reference into so many other classes/methods.
Add the following code for the member variables and the getInstance
method.
import android.content.Context; import android.content.res.AssetFileDescriptor; import android.content.res.AssetManager; import android.media.AudioAttributes; import android.media.AudioManager; import android.media.SoundPool; import android.os.Build; import java.io.IOException; class SoundEngine { // for playing sound effects private static SoundPool mSP; private static int mJump_ID = -1; private static int mReach_Objective_ID...