java - Android在尝试使用release()时强制关闭;停止媒体播放器

标签 java android xml

我正在创建一个应用程序,该应用程序将在开始时加载 MediaPlayer,然后几秒钟后该类将被销毁并移动到另一个类。问题是,每当第一个类被破坏时,我都试图停止 MediaPlayer,但它只会强制关闭我。这是代码。

public class HelloWorldActivity extends Activity {
    MediaPlayer mp;    

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
        final MediaPlayer mp = MediaPlayer.create(this, R.raw.otj);
        mp.start();

        Thread LogoTimer = new Thread() {
            public void run() {
                try {
                    int LogoTimer = 0;
                    while(LogoTimer < 5000) {
                        sleep(100);
                        LogoTimer = LogoTimer + 100;
                    }

                    startActivity(new Intent("com.example.HelloWorld.CLEARSCREEN"));
                } 

                catch (InterruptedException e) {
                    e.printStackTrace();
                }

                finally {
                    finish();
                }
            }
        };

        LogoTimer.start();
    }

    protected void onDestroy() {
        super.onDestroy();
        mp.release();
    }

最佳答案

onCreate() 中,您声明了另一个名为 mp 的变量,它隐藏了类字段 mp,这意味着 mp 您调用的 onDestroy()null

final MediaPlayer mp = MediaPlayer.create(this, R.raw.otj); 行中删除 final MediaPlayer ,这样您就可以使用原始的所有内容时间。

您的代码应如下所示:

public class HelloWorldActivity extends Activity {
    MediaPlayer mp;


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    mp = MediaPlayer.create(this, R.raw.otj);
    mp.start();

关于java - Android在尝试使用release()时强制关闭;停止媒体播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608138/

相关文章:

java - 你如何使用 math.random 生成随机整数?

java - 如何在 Node.js 应用程序/项目中使用 Wurfl 现场 java

使用Android SDK工具后Android图标比其他图标小很多?

mysql - 将大量数据从 XML 文件转换为数据库

java - java中私有(private)变量的继承

Java - 方法重载

android - ScrollView 中的 ViewPager 不会垂直滚动

android - 如何在 Android WebView 中包含 BACK 键

xml - Oracle UpdateXML() 更改 XML 结构?

java - 通过 Java 给出准备好的 SOAP 响应