【问题标题】:how can stop background runnig process of media player stop when pressed back button of mobile按下手机的后退按钮时如何停止媒体播放器的后台运行过程
【发布时间】:2015-11-22 20:22:42
【问题描述】:

我搜索了很多解决方案,但是当我按下移动设备的后退按钮时找不到正确的结果,我正在使用一个计数器变量并将条件设置为当计数器为 0 时它称为音乐文件。 但是当我从那个活动中出来时意味着按下移动设备的后退按钮仍然是那个活动正在运行并调用音乐文件。我正在使用下面的代码播放音乐。请任何人有解决方案然后帮助我。我正在使用一个计时器功能。像这样当 i==0 时调用一个音乐文件但是当我按下返回按钮时。这个计时器我想停止。

公共无效 btntimer(){

    new Handler().postDelayed((new Runnable() {

        @Override
        public void run() {
            if(i!=32) {
                matchNo();
            }
            else {
                try{
                showdialog();
                media=1;
                }catch (Exception e){
                    media=0;
                }
                updatepoints();
            }
        }
    }), 4000);


}






song=MediaPlayer.create(this,R.raw.cartoon1);
            song.start();
            song.setLooping(false);

【问题讨论】:

    标签: android


    【解决方案1】:

    如果我理解你的正确,你想在按下后退按钮时停止播放音乐。

    在 onBackPressed 方法中调用 stop()。

    @Override
    public void onBackPressed() {
        song.stop();
        song.release();
        song = null;
    }
    

    【讨论】:

    • 感谢您的宝贵支持,我也从第二个活动回到第一个活动的应用程序。当我按下移动设备的后退按钮时,我正在使用您的代码,但应用程序不幸停止了。
    • 您是说按下后退按钮时,您还想从当前活动返回到第一个活动。如果是,则比简单地调用finish();在 onBackPressed 方法的末尾。您还应该检查歌曲是否为 null - 在这种情况下,您不能调用 stop()
    • 嗨,我正在编辑我的代码你读过文件。当我开始在 btw 中玩游戏时,我按下后退按钮,进程一直运行到 0。当我按下后退按钮时,我如何停止该计时器。
    • 好的,我明白了。你应该看看这个答案怎么做:stackoverflow.com/questions/4378533/…(你会在 onBackPressed 方法中调用 myHandler.removeCallbacks(myRunnable);)
    • 嗨,我一直在尝试这个解决方案,但我的问题仍然没有解决。如果您有其他解决方案可以在我按下移动设备的返回按钮时停止音乐文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多