为什么MediaPlayer在onCreate外部使用时会导致错误

时间:2014-08-16 19:26:44

标签: android audio android-mediaplayer

我使用连接到按钮的小2秒声音效果。单击时,将播放声音效果,用户将进入下一个活动。我创建的函数在onCreate之外,并使用Intent将用户发送到下一个活动。当我添加mp变量时,我得到一个错误,说是playGame()存在问题。是什么导致MediaPlayer放入此功能时无法播放? Eclipse建议将mp.create()更改为MediaPlayer.create,但这并不能解决问题。

    public class SplashScreenActivity extends ActionBarActivity {
public MediaPlayer mp;
public void playGame(View view) {
    mp.create(this, R.raw.bulletricochet);
    mp.start();
    // Do something in response to button
    Intent intent = new Intent(this, QuizActivity.class);
    startActivity(intent);
}

public void playRules(View view) {
    Intent intentR = new Intent(this, RulesActivity.class);
    startActivity(intentR);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash_screen);

}}

1 个答案:

答案 0 :(得分:1)

您的mp对象为null,但您正在调用create方法。

要创建MediaPlayer对象,请使用MediaPlayer.create。你说你试过了,但可能没有将返回值分配给你的mp变量。

mp = MediaPlayer.create(this, R.raw.bulletricochet);