gpt4 book ai didi

java - 为什么 MediaPlayer 在 Android 中的应用程序重新启动状态下停止?

转载 作者:行者123 更新时间:2023-12-02 01:18:47 25 4
gpt4 key购买 nike

我制作了一个音板应用程序,它可以工作,但是当我按下手机上的主页按钮时我单击以恢复应用程序,当我按下声音按钮时,它停止工作(崩溃)

private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp = MediaPlayer.create(this, R.raw.iaminevitable);

iaminevitable = (Button) findViewById(R.id.iaminevitable);
iaminevitable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp.start();
}
});

@Override
protected void onStop() {
super.onStop();
if (mp != null) {
mp.reset();
mp.release();
mp = null;
}

我的错误 Logcat =

Process: soundboard.test, PID: 5429
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.start()' on a null object reference
at soundboard.test.MainActivity$6.onClick(MainActivity.java:96)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5293)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

最佳答案

您是否已授予所需的权限?检查它并请向存储等添加更多代码,或者如果问题是 Activity 生命周期,只需添加此代码

@Override
public void onRestart()
{
super.onRestart();
recreate();
finish();
overridePendingTransition(0, 0);
startActivity(getIntent());
overridePendingTransition(0, 0);
}

关于java - 为什么 MediaPlayer 在 Android 中的应用程序重新启动状态下停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58131660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com