【问题标题】:Android Media player refresh on clickAndroid媒体播放器点击刷新
【发布时间】:2015-03-09 23:40:47
【问题描述】:

在我的布局中,我有 6 个按钮。我想在单击每个按钮时播放声音 - 每个按钮都有不同的声音。我创建了一个包含 6 个媒体播放器的数组(每个按钮一个)。

当一个按钮被点击时,我想播放相应的声音。如果在单击上一个按钮后正在播放另一个声音,我希望该声音停止,然后与此按钮对应的声音从头开始播放。

   @Override
    public void onClick(View v) {

        if(v.getId()==clickPaths.get(ButtonPresentMoment)){
            ButtonPresentMoment++;
            //Error is in this for loop.
            for(int i =0;i<MediaPlayers.length;i++){
                MediaPlayers[i].pause();
                if(MediaPlayers[i].getCurrentPosition()!=0)
                MediaPlayers[i].seekTo(0);
            }
            MediaPlayers[v.getId()].start();
            Score+=Level;
            ShowNextLevel();
        }else{
            Intent intent = new Intent(GameActivity.this,EndGameActivity.class);
            intent.putExtra("Score",Score);
            startActivityForResult(intent,1);
        }
    }

【问题讨论】:

  • 用更好的英语语法重写了问题。
  • 我的英文写得不太好,对不起。但我想做的是,当我按下一个按钮时,媒体播放器就会启动。之后我也按下一个按钮,如果媒体播放器没有完成我想停止它并开始新按钮的声音。

标签: java android multithreading button media-player


【解决方案1】:

您需要释放媒体播放器。使用此代码停止以前的音乐。

MediaPlayers[i].release();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多