我正在制作游戏,游戏中有一些音频 fragment 。我正在使用音频池并且我只使用了 2 个音频剪辑。都是mp3格式,一个是700kb,一个是800字节。
我正在尝试在首次加载游戏时播放 700kb 的音频剪辑。只要应用程序打开,它就会一直循环播放的背景声音。但是我尝试过的一切都失败了。我能够让它工作的唯一方法是在启动时启动一个线程并让线程休眠 15 秒。之后它会调用开始音频并开始播放,但如果线程被破坏,它会随之终止声音。
我假设音频可能正在缓冲,这就是它在开始时不播放的原因?另外,您是否必须从线程中进行所有音频调用?
最佳答案
我刚刚在 Activity onCreate() 方法中使用了这段代码,它工作正常:
public class LaunchActivity extends Activity {
private MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.whatever);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mp = MediaPlayer.create(this, R.raw.a);
mp.start();
}
如果此实例没有停止指令,它将继续播放应用程序中的所有 Activity ,如果您退出应用程序,它仍会播放,当您回来时,新实例将开始播放旧实例同一时间!媒体播放器是它自己的进程,所以我认为不需要另一个线程。
您确定您的 MP3 文件没有问题并导致系统出现问题吗?
关于android - 应用程序加载后立即启动音频 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634217/