问题描述
我是Android Java的新手。 我有2个活动,MainActivity和SongActivity。音频文件正在MainActivity中播放,我想通过按SongActivity中的按钮来暂停和恢复它。
我在MainActivity中的代码:
public MediaPlayer player;
player = MediaPlayer.create(getApplicationContext(),Uri.parse(songPath));
//songPath is the path of an audio file picked by the user
public void pauseSong() {
player.pause();
}
SongActivity中的代码:
MainActivity ma = new MainActivity();
ma.pauseSong();
我得到的错误:void.android.media.MediaPlayer.pause() on a null object reference
感谢您的帮助
解决方法
首先,在开始编写代码之前,您需要了解android组件及其用途。您在这里遇到了几个问题。服务旨在进行后台工作(例如在您的情况下播放音乐)。主要活动是您应用程序的入口点。您应该将第二项活动作为服务并在其中播放音乐。创建活动后,然后启动服务。然后,只要用户关闭了应用程序,或者使用服务中的粘滞标记,根据您的需要执行任何操作,就可以处理服务结束。