试图播放媒体,应用程序崩溃

时间:2014-01-28 11:05:39

标签: android android-mediaplayer

这是我在应用程序崩溃时尝试执行的代码块。

    bsharks.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v){ 
            if (ducks.isPlaying()) {
                ducks.stop();
                ducks.prepareAsync();
                ducks.seekTo(0);
            }
            else{
                ducks = MediaPlayer.create(MainActivity.this, R.raw.sharks);
                ducks.start();
            }
        }
    });

日志猫(全名被封锁)。

2 个答案:

答案 0 :(得分:2)

更改您的代码,如下所示

MediaPlayer ducks = MediaPlayer.create(MainActivity.this, R.raw.sharks);
bsharks.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v){ 
            if (ducks.isPlaying()) {
                ducks.stop();
                ducks.prepareAsync();
                ducks.seekTo(0);
            }
            else{

                ducks.start();
            }
        }
    });

答案 1 :(得分:0)

我们需要在使用该对象之前创建Mediaplayer对象。 因此,在Mediaplayer方法中创建onCreate对象。将以下行放在onCreate

    ducks = MediaPlayer.create(MainActivity.this, R.raw.sharks);

并将剩余代码放在按钮的onClick事件中,如下所示。

bsharks.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v){            
    if (ducks.isPlaying()) {
            ducks.stop();
            ducks.prepareAsync();
            ducks.seekTo(0);
        }
    else
        {   
            ducks.start();
        }
    }
 });