2011-01-08 115 views
1

我正在创建游戏,并且我在游戏中有一些音频剪辑。我正在使用音频池,而我只使用了2个音频剪辑。它们都是mp3格式,1是700kb,另一个是800字节。应用程序加载后立即启动音频Android应用程序

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

我假设音频缓冲也许这就是为什么它不会在开始播放?你还必须从一个线程进行所有的音频呼叫吗?

+0

为什么你没有发布什么不工作(代码)? – user432209 2011-01-08 14:22:40

回答

1

我曾经在一个活动的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文件没有错,并使系统的斗争?