【问题标题】:how to pause and play music player如何暂停和播放音乐播放器
【发布时间】:2017-04-17 16:33:00
【问题描述】:

我想编写一个程序,可以暂停和播放android中的每个媒体播放器。如何将此程序的优先级设置为高于其他程序?我也写了以下代码

public static final String SERVICECMD = "com.android.music.musicservicecommand";
    public static final String CMDNAME = "command";
    public static final String CMDPAUSE = "pause";
    public static final String CMDPLAY = "play";
    public static final String CMDTOGGLEPAUSE = "togglepause";

  AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

        if (mAudioManager.isMusicActive()) {

            Intent i = new Intent(SERVICECMD);
            i.putExtra(CMDNAME, CMDPAUSE);
            MainActivity.this.sendBroadcast(i);
            Toast.makeText(this, "media player is pause!", Toast.LENGTH_LONG).show();

        }
        if (!mAudioManager.isMusicActive()) {
            Intent i = new Intent(SERVICECMD);


            i.putExtra(CMDNAME, CMDPLAY);
            MainActivity.this.sendBroadcast(i);

            Toast.makeText(this, "media player is play!", Toast.LENGTH_LONG).show();
        }

它可以暂停每个玩家,但我不知道如何再次播放它们。我可以玩一些球员,但不是所有球员我不知道为什么???

【问题讨论】:

标签: java android android-studio background-music


【解决方案1】:

点击播放和暂停按钮

您必须找到一种方法来检索所有 MediaPlayer 对象。

暂停:

mMediaPlayer.pause(); // Pause the MediaPlayer

播放:

mMediaPlayer.prepare(); // Prepares the MediaPlayer to play a song

** 请也有一个 onPrepare 方法

mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
              mediaPlayer.start(); // play!
}

另外,这里有一个参考: https://github.com/naman14/Timber

这个开源音乐应用应该拥有创建音乐播放器控制器等所需的大部分相关资源。您将能够了解它的工作原理。

此外,除非您尚未实现 MediaPlayer 对象,否则您提供的代码无法帮助您确定任何问题。

原因如下:Difference between Audiomanager and MediaPlayer

-- 编辑--

以下是通过 MediaPlayerRegistry 停止其他 MediaPlayer 实例的方法。

Android: How to stop other active media players?

【讨论】:

  • 感谢您的帮助。但我不正确理解您发送的代码可以暂停并从我的应用程序中播放程序吗?我的意思是,每当我(例如)在我的应用程序中按下暂停和播放按钮时,我希望我的应用程序中的所有其他媒体播放器(当时正在运行)都被暂停或播放....你的代码去做?还是仅适用于我的应用程序内部?
  • @shahabmohseni 不,它没有。再次查看我的答案,我添加了停止其他媒体播放器的解决方案。
  • 我要恢复其他媒体的pelyer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多