应用程序加载Android App后立即启动音频

时间:2011-01-08 14:07:54

标签: android audio soundpool

我正在创建一个游戏,我在游戏中有一些音频剪辑。我正在使用音频池而我只使用2个音频剪辑。它们都是mp3格式,1是700kb,另一个是800字节。

首次加载游戏时,我正在尝试播放700kb的音频片段。这是一个背景声音,只要应用程序打开,它就会永远循环播放。然而,我尝试过的一切都失败了。我能够让它工作的唯一方法是在启动时启动一个线程并让线程休眠15秒。之后它会调用启动音频然后播放,但如果线程被破坏,它将用它杀死声音。

我假设音频可能正在缓冲,这就是为什么它不能在开始时播放?你还必须从一个线程进行所有音频调用吗?

1 个答案:

答案 0 :(得分:1)

我刚刚在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();

    }

如果此实例没有停止说明,它将继续播放应用程序中的所有活动,如果您退出应用程序,它仍将播放,当您返回时,新实例将开始播放旧实例同一时间!媒体播放器是它自己的进程,所以我认为不需要另一个线程。

你确定你的MP3文件没有问题并且让系统崩溃吗?