java - 如何暂停和播放音乐播放器

标签 java android android-studio background-music

我想写一个程序,可以暂停和播放 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();
        }

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

最佳答案

为播放和暂停按钮设置一个 onClick

您必须找到一种方法来检索所有 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

这个开源音乐应用程序应该包含您创建音乐播放器 Controller 等所需的大部分相关资源。您将能够理解它是如何工作的。

此外,除非您尚未实现 MediaPlayer 对象,否则您提供的代码将不允许我帮助您识别任何问题。

原因如下:Difference between Audiomanager and MediaPlayer

-- 编辑--

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

Android: How to stop other active media players?

关于java - 如何暂停和播放音乐播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40937720/

相关文章:

java - Spring 注解@Autowired 内部方法

android - 如何在statelessWidget类中使用setState()函数

android - 如何在 fragment 工具栏中设置菜单项?

android - 在 Android Studio 中的不同开发人员机器之间共享 android 调试证书

android - 在Android上运行React Native项目

Java子类使用来自同一父类(super class)的另一个子类的数据

java - 将非字符串属性传递给自定义 JSTL 标记

java - 将多个 css 类应用到 GWT

android - 如何返回关闭 Activity 之间的 Activity ?

java - 查看 Binding with Java 11,Android Studio 总是显示错误(但运行没有任何问题)