我的应用程序出现问题,因为应用程序处于后台时会听到多媒体声音
我已经定义了这样的媒体播放器;
private void playLocalAudio(int R1)throws Exception
{
MediaPlayer mediaPlayer = MediaPlayer.create(this,R1);
mediaPlayer.start();
}
为了调用PlayLocalAudio,我做了:
try{
playLocalAudio(R.raw.fartw1);
}
catch (Exception e) {
e.printStackTrace();
}
}});
但我无法正确调用MediaPlayer.Stop()
我在尝试:
public void onPause()
{
super.onPause();
mediaplayer.stop();
}
但它不起作用。你能帮帮我吗?
答案 0 :(得分:1)
我猜你的代码有一个类变量mediaPlayer,在你的例子中不可见。在这种情况下,您有变量阴影,因为您在playLocalAudio中实例化一个新的mediaPlayer,并且该实例在pause方法中不可见。所以永远不要叫停。从playLocalAudio中的声明中删除MediaPlayer类名称。