android - 在没有 MediaPlayer 的情况下使用 RemoteControlClient

标签 android media-player

我想将音乐信息从我的播放器广播到锁屏小部件。我现在为了这些目的而存在 RemoteControlClient 类。但是如果我使用自定义引擎来播放音乐呢?如何在锁定屏幕上控制小部件?

最佳答案

我找到了执行此操作的简单方法。

//init remoteControlClient
    remoteControlClient = new RemoteControlClient(PendingIntent
                    .getBroadcast(this, 0, new Intent(Intent.ACTION_MEDIA_BUTTON).setComponent(componentName), 0));
    audioManager.registerRemoteControlClient(remoteControlClient);
            remoteControlClient.setTransportControlFlags(RemoteControlClient.FLAG_KEY_MEDIA_NEXT |
                    RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE|RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS|
                    RemoteControlClient.FLAG_KEY_MEDIA_PAUSE|RemoteControlClient.FLAG_KEY_MEDIA_PLAY);
//put info to the lockscreen
    remoteControlClient.editMetadata(true)
                    .putBitmap(MediaMetadataEditor.BITMAP_KEY_ARTWORK, bitmap)
                    .putString(MediaMetadataRetriever.METADATA_KEY_ARTIST,audio.getArtist())
                    .putString(MediaMetadataRetriever.METADATA_KEY_ALBUM,audio.getAlbum())
                    .putString(MediaMetadataRetriever.METADATA_KEY_TITLE,audio.getTitle()).apply();
//destroy remoteCControlClient
    audioManager.unregisterRemoteControlClient(remoteControlClient);

关于android - 在没有 MediaPlayer 的情况下使用 RemoteControlClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22722362/

相关文章:

android - wifimanager.calculatesignalstrenth 问题

java - 在android中使用retrofit 2解析具有多个对象的Json数组

java - 获取java.lang.IllegalStateException

iphone - 播放 iPod 库中的歌曲,仅包含其标题

Android 媒体流错误? java.io.FileNotFoundException : No content provider :http://

javascript - Google Material chart Column Chart(条形图)自定义列颜色不起作用

java - 使用 dagger2 进行依赖注入(inject)时,我可以只注入(inject)父类(super class)吗?

java - mp.isPlaying() 抛出 Fatal NullPointerException

JavaFX 示例代码不播放视频,仅显示媒体播放器

java - 跨多个 SDK 版本的 Android ContactsContract 和构建