Android 安卓,Can';我不能让MediaPlayer类正常工作
我想为我创建的动画添加声音。每次动画开始时,应该也会有声音开始,但我无法启动声音 动画一切正常,代码如下:Android 安卓,Can';我不能让MediaPlayer类正常工作,android,android-mediaplayer,Android,Android Mediaplayer,我想为我创建的动画添加声音。每次动画开始时,应该也会有声音开始,但我无法启动声音 动画一切正常,代码如下: public class TestActivity extends Activity { AnimationDrawable anim; MediaPlayer mp; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo
public class TestActivity extends Activity {
AnimationDrawable anim;
MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
playAnimation(R.id.frameLayout1,R.drawable.anim2,R.raw.bang);
}
public void playAnimation(int FrameLayoutAddress, int animationXMLAdress, int soundAddress)
{
mp = MediaPlayer.create(this.getApplicationContext(), soundAddress);
mp.start(); // error here
FrameLayout imgView = (FrameLayout)findViewById(FrameLayoutAddress);
imgView.setBackgroundResource(animationXMLAdress);
anim = (AnimationDrawable) imgView.getBackground();
imgView.post(new Runnable()
{
@Override
public void run()
{
anim.start();
}
});
}
}
有人能指出我的错误吗?提前感谢您的时间。您应该在
mp.start()之前调用mp.prepare()
。另外,建议在调用mp.prepare()
之前重置MediaPlayer
,您会遇到什么错误?@Pumpkin:如果create(…)
失败,mp将null
-在尝试调用start()
之前,请检查并确保它不为null。R.raw.bang
是有效声音文件的有效资源ID吗?