【问题标题】:Pause-Resume Audio on button click单击按钮时暂停-恢复音频
【发布时间】:2015-06-03 14:37:28
【问题描述】:

嗨,伙计们,我创建了一个音频播放按钮,播放我在原始文件夹中命名为“a”的音频...一切正常,按下播放按钮时正在播放音频,但我需要暂停另一个按钮上的音频,我也需要添加简历....我试过但我的尝试失败了,它不可能工作,如果你知道任何代码可以做到这一点,请支持我,谢谢

public void onClick(View v) {
    int resId;
    switch (v.getId()) {
        case R.id.Play:
            resId = R.raw.a;
            break;

        default:
            resId = R.raw.a;
            break;
    }
    // Release any resources from previous MediaPlayer
    if (mp != null) {
        mp.release();
    }
    // Create a new MediaPlayer to play this sound
    mp = MediaPlayer.create(this, resId);
    mp.start();
}

【问题讨论】:

  • 当您的resId 始终为R.raw.a 时,为什么还要使用switch 语句?
  • 我有另一个播放另一个音频的按钮,但我删除了它。

标签: java android


【解决方案1】:

使您的 MediaPlayer 对象 mp 成为类变量。并使用以下代码停止/暂停/恢复MediaPlayer 播放

MediaPlayer mp;
int length;

//Inside constructor write this code
{
int resId = R.raw.a;
mp = MediaPlayer.create(this, resId);
}//End of Constructor



public void onClick(View v) {
    switch (v.getId()) {
    case R.id.play:
      mp.start();
      break;

    case R.id.pause:
    mp.pause();
    length = mp.getCurrentPosition();
    break;

   case R.id.resume:
     if(!mp.isPlaying()) {
     mp.seekTo(length);
     mp.start();
     }
     break;

   case R.id.stop:
    mp.stop();
    break; 
    }
}

【讨论】:

  • 现在检查,我已经修改了答案。
  • 问题是,每次单击按钮时,我们都会重新创建MediaPlayer 实例,以避免在构造函数中实例化MediaPlayer 对象。请检查我修改后的代码。
  • 应用打开时强制关闭
【解决方案2】:

这是文档链接 -

http://developer.android.com/reference/android/media/MediaPlayer.html

来自此链接-

播放可以暂停和停止,以及当前播放位置 可以调整。可以通过 pause() 暂停播放。当调用 pause() 返回,MediaPlayer 对象进入 Paused 状态。笔记 从 Started 状态到 Paused 状态的转换和 反之亦然,在播放器引擎中异步发生。可能需要 在调用 isPlaying() 更新状态之前的某个时间,它 在流式内容的情况下可以是几秒。

希望这会对你有所帮助。

【讨论】:

    【解决方案3】:

    为什么需要发布 MediaPlayer 并创建一个新的?对于停止、暂停和恢复,您可以致电mp.stop()mp.pause()mp.start()。可能,您只需要在onCreate() 中创建MediaPlayer 并在onDestroy() 中调用mp.release()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      • 2020-08-16
      • 2012-02-10
      • 2012-08-26
      相关资源
      最近更新 更多