【发布时间】:2018-07-02 20:56:35
【问题描述】:
当我点击播放按钮并播放 mp3 声音时,我有一个活动。当我单击返回时,音频仍然在后台播放,并且还可以与其他令人讨厌的音频一起运行。我已经尝试实现这里使用的其他方法,但无济于事。
代码:
public class InstructionsManualActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_instructions_manual);
Button one = (Button) this.findViewById(R.id.instructionsManual_but);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.instructions_manual);
one.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mp.start();
}
});
}
}
我已尝试过此代码,但应用程序在按下后崩溃
@Override
public void onBackPressed() {
super.onBackPressed();
if (mp.isPlaying()) {
mp.stop(); // or mp.pause();
mp.release();
【问题讨论】:
-
您需要检查 mediaplayer 实例是否不为空,然后执行您的代码,检查下面我的答案,如果您仍然遇到错误,请告诉我。
-
您在本地的 onCreate() 中声明 MediaPlayer,可能是您尝试暂停或释放您尚未创建的 MediaPlayer。只需全局声明您的 MediaPlayer 并在 onCreate() 中创建它
-
说得好@GhulamMoinulQuadir,我添加了一个带有附加条件的答案来为他处理所有这些错误情况
-
我已经意识到,但无法通过将其移出 onCreate() 来使其工作。你能帮我做这件事吗?
-
从下面的答案中获取代码,我已经添加了代码,如果有的话,请告诉我您遇到的错误