0

ストリーミングで音楽を​​再生するアプリケーションを Xamarin Android で開発しています。メタデータを設定すると更新され、モバイル通知に正しく表示されますが、車などの Bluetooth 経由でデバイスに接続すると、メタデータが更新されません。誰かが理由を教えてもらえますか?

MediaSession を作成してメタデータを更新するコードは次のとおりです。

protected virtual void InitMediaSession()
{
    MediaSession = new MediaSessionCompat(ApplicationContext, ApplicationContext.PackageName);

    Intent intent = PackageManager?.GetLaunchIntentForPackage(PackageName);
    PendingIntent pendingIntent = PendingIntent.GetActivity(ApplicationContext, 0, intent, PendingIntentFlags.UpdateCurrent);
    MediaSession.SetSessionActivity(pendingIntent);

    if (Build.VERSION.SdkInt < BuildVersionCodes.O)
    {
        MediaSession.SetFlags(MediaSessionCompat.FlagHandlesMediaButtons | MediaSessionCompat.FlagHandlesTransportControls);
    }

    MediaSession.Active = true;
    SessionToken = MediaSession.SessionToken;
}

private void UpdateMetadata(string title, string artist)
{
    var metadataBuilder = new MediaMetadataCompat.Builder();
    metadataBuilder.PutString(MediaMetadata.MetadataKeyTitle, title)
                   .PutString(MediaMetadata.MetadataKeyArtist, artist);
            
    var metadata = metadataBuilder.Build();
    MediaSession.SetMetadata(metadata);
}
4

0 に答える 0