媒体播放器无法停止播放

时间:2017-12-17 19:17:29

标签: android

我正在尝试使用浮动操作按钮使用以下代码播放媒体文件。 它到目前为止工作正常,但即使我切换到另一个活动,它仍然继续播放。我想在按下后退按钮时停止媒体播放器。请帮我... 这是代码:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sound);    
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    final MediaPlayer mp = new MediaPlayer();            
    fab.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                if (mp.isPlaying()) {
                    mp.stop();
                }

                try {
                    mp.reset();
                    AssetFileDescriptor afd;
                    afd = getAssets().openFd("audio/sound.mp3");
                    mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
                    mp.prepare();
                    mp.start();
                } catch (IllegalStateException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });

    }
        @Override
        public void onBackPressed() {
        //here i want to stop media player with back button
            super.onBackPressed();
        }

1 个答案:

答案 0 :(得分:0)

覆盖OnDestroy并添加以下代码:

@Override
public void onDestroy() {
   if (mp != null) mp.release();
}