1

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

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

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

4

1 回答 1

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 文件没有问题并导致系统出现问题吗?

于 2011-01-08T16:35:36.877 回答