【问题标题】:Stopping or Pausing MediaPlayer on click using single media player使用单个媒体播放器单击时停止或暂停 MediaPlayer
【发布时间】:2014-03-06 02:31:21
【问题描述】:

如何仅使用 1 个媒体播放器停止或暂停 MediaPlayer? 例如我有网格视图。当我单击按钮时我想要的是播放声音。 但这是棘手的部分。当我再次单击按钮时,它并没有停止它,而是它是静止的声音并从头开始播放。 我尝试添加

else{
mp.pause
mp.seekTo(0);
}

但它没有用。它给了我错误 这是我的代码:

case 24:
                    if(mp!=null)
                    {
                        mp.release();
                        mp=null;
                    }

                    mp = MediaPlayer.create(Glavni.this, R.raw.s25snd);
                    mp.start();
                    break;

【问题讨论】:

  • 你遇到了什么错误?你问的不是很清楚..
  • 我在问,当我再次单击同一个按钮时,我怎么能暂停或停止媒体播放器,而不是从头开始再次播放。错误是Syntax error on token "else", delete this token
  • mp.pause() 和 mp.start() 应该做你想做的事。

标签: android media-player


【解决方案1】:

你应该可以暂停曲目

Mediaplayer.pause();
length=Mediaplayer.getCurrentPosition();

保存长度,然后以该长度恢复它

Mediaplayer.seekTo(length);
Mediaplayer.start();

【讨论】:

    【解决方案2】:

    你需要这样的东西:

    if (mp == null) {
        initMediaPlayer();
    }
    ...
    if (mPrepared && mHasStarted && mp.isPlaying()) {
        mp.pause();
    } else if (mPrepared) {
        mHasStarted = true;
        mp.start();
    }
    

    媒体播放器准备就绪后,mPrepared 为真。如果您仔细查看状态图和表格,您会注意到在开始播放之前调用 pause() 是错误的。如果这确实是故意的,那么您还需要 mHasStarted 标志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      相关资源
      最近更新 更多