我正在开发一个从 Internet 检索音乐文件的音乐应用程序。
我有两个 Activity
- 主要 Activity
- 播放器 Activity
当有人点击 MainActivity
中的一个元素时,这会加载第二个 PlayerActivity
并开始播放歌曲
第一次使用效果很好。当有人点击后退按钮并点击另一个元素时,问题就来了,这一次歌曲开始播放而不停止当前播放的歌曲,
这是我尝试过的代码。
主 Activity
Intent intent = new Intent(v.getContext(), PlayerActivity.class);
EditText albumID = (EditText) findViewById(R.id.albumID);
String message = albumID.getText().toString();
intent.putExtra(ALBUMID, message);
startActivity(intent);
播放器 Activity
try {
if(player.isPlaying()) {
player.release();
}
player.reset();
player.setDataSource(urls.get(position));
player.prepare();
player.start();
seekbar.setMax(player.getDuration());
} catch (IOException e) {
e.printStackTrace();
}
注意: 如果需要,我可以发布完整代码。
最佳答案
我想这是因为您拥有不同的播放器实例,这就是为什么当您停止它时它会“停止”与您想要的播放器不同的播放器。播放器未附加到 Activity,并且当 Activity 被销毁时它也不会被销毁...
您应该只有一个播放器实例。也许使用单例或静态单例。 你能在 Activity 停止时停止播放器吗?比如,它正在被摧毁?
如果不清楚,您可以尝试上传更多代码,以便我们可以看到更多......
关于android - 恢复时销毁 Activity 的最后执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27823560/