Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:onResume/onPause和mediaplayer_Android_Scope_Media Player_Onresume_Onpause - Fatal编程技术网

Android:onResume/onPause和mediaplayer

Android:onResume/onPause和mediaplayer,android,scope,media-player,onresume,onpause,Android,Scope,Media Player,Onresume,Onpause,我有两项活动,作业和作业。我在作业中播放了一首歌,但当按下按钮时,媒体播放器暂停,closer打开。在我的onPause功能中,我试图暂停媒体播放器,但它不起作用,关闭的活动打开,音乐仍在播放。之前,我将其设置为在活动作业的按钮侦听器中,媒体播放器暂停,但当我将其设置为onResume时,媒体播放器不会继续。我想这可能是mediaplayer的范围问题,有人能帮我解决吗 package com.cis.lab4; import java.io.IOException; import andr

我有两项活动,作业和作业。我在作业中播放了一首歌,但当按下按钮时,媒体播放器暂停,closer打开。在我的onPause功能中,我试图暂停媒体播放器,但它不起作用,关闭的活动打开,音乐仍在播放。之前,我将其设置为在活动作业的按钮侦听器中,媒体播放器暂停,但当我将其设置为onResume时,媒体播放器不会继续。我想这可能是mediaplayer的范围问题,有人能帮我解决吗

package com.cis.lab4;

import java.io.IOException;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.res.AssetFileDescriptor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Homework extends Activity {

    final MediaPlayer mediaplayer = new MediaPlayer();
    int media_length;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_homework);
        setPlayer();
        mediaplayer.start();
        Button next = (Button) findViewById(R.id.homeworkContinue);
        final Intent openCloser = new Intent(this, EndActivity.class);
        next.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                startActivity(openCloser);

            }

        });
    }

    public void onResume(Bundle savedInstanceState){
        super.onResume();
        mediaplayer.seekTo(media_length);
        mediaplayer.start();
    }

    public void onPause(Bundle savedInstanceState){
        mediaplayer.pause();
        media_length = mediaplayer.getCurrentPosition();
    }


    public void setPlayer(){
        AssetFileDescriptor afd;
        try {
            afd = getAssets().openFd("rev.mp3");
            mediaplayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
            mediaplayer.prepare();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

您没有正确地覆盖onPause

请在暂停istead时尝试此选项:

    @Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();

    mediaplayer.pause();
    media_length = mediaplayer.getCurrentPosition();
}
这应该行得通。对于onResume,您也应该这样做。
晚安。

您没有正确覆盖暂停

请在暂停istead时尝试此选项:

    @Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();

    mediaplayer.pause();
    media_length = mediaplayer.getCurrentPosition();
}
这应该行得通。对于onResume,您也应该这样做。 晚安