Android:更新汽车音频数据

问题描述 投票:0回答:1

抱歉,我的英语口语不好。

我是广播员。我可以获得当前的名称和标题,因此每15秒钟阅读一次新信息,并将其显示在主要活动和通知中。当我将手机连接到汽车时,firtt艺术家会很好地显示。当第二次出现时,名字在我的手机上是正确的,但在汽车屏幕上没有更新。每次连接停止并重新启动时,名称都是正确的,但是下一首歌曲到来时永远不会更新。

我的班级实现AudioManager。

我使用此代码更新元数据:

mediaSession是MediaSessionCompat

   mediaSession.setMetadata(new MediaMetadataCompat.Builder()
    .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, strArtist)
    .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, strAlbum)
    .putString(MediaMetadataCompat.METADATA_KEY_TITLE, strTitle)
    .build()); 

我认为mediaSession的更新未发送到蓝牙设备。

是否有强制执行同步的命令?

谢谢您的帮助。

JC

java android metadata media-player android-bluetooth
1个回答
0
投票

每次跟踪信息更改时,您必须调用MediaSession.setMetadata(MediaMetadataCompat元数据)。https://developer.android.com/guide/topics/media-apps/media-apps-overview#mediasession-and-mediacontroller要获取元数据更改的更新,您需要注册MediaController.Callback才能调用MediaControllerCompat.registerCallback(ControllerCallback)。因此,当您为MediaSession设置新的元数据时,将在MediaController.Callback的onMetadataChanged(MediaMetadata元数据)回调中接收此元数据。(https://developer.android.com/reference/android/media/session/MediaController.Callback?hl=en#onMetadataChanged(android.media.MediaMetadata))方法。

© www.soinside.com 2019 - 2024. All rights reserved.