Pause media_player when a phone call is received

When receiving a phone call, I would like to pause any media that is currently played on the television (if possible) and show a notification an the TV. Ideally the notification should be shown for as long as the phone is ringing. If the phone call is ended I would like to resume the media_player that was paused to resume playing.

My issue is that multiple media_players control the TV. It could be:

  1. the Samsung TV itself integrated via the HACS integration - media_player.samsung_q85_tv
  2. Plex Client running on the Samsung TV - media_player.plex_plex_for_samsung_tv_gq65q85rgtxzg
  3. the Shield TV settop box - media_player.shield_tv
  4. Plex Client running on the Shield TV - media_player.plex_plex_for_android_tv_shield_android_tv
  5. Chromecast on the Shield TV - media_player.shield_tv_cast

From the first I cannot retrieve information about whether or not a video is currently played via Plex, Netflix and co. It can only tell if the TV is 'on'/'off' and which source is selcted (including Apps selected). So it will show that Plex, or Netflix is opened, but does not know, if a video is currently playing in those apps. But the Plex Client on the Samsung TV can be controlled.
The fourth and the fifth do not need to be considered in my opinion, as the Android TV integration already covers everything. It gives a statement about which app is currently running and can pause/resume.

I have started to create a simple automation, which works:

- alias: Media - Pause Plex when Call is Received
  id: 'media_pause_plex_on_call'
  trigger:
    - platform: state
      entity_id: 
        - sensor.phone
      to: 'ringing'

  action:
    - service: media_player.media_pause
      entity_id: media_player.shield_tv
    - service: notify.shield_tv
      data:
        title: "Phone"
        message: "Incoming call from {{ state_attr('sensor.phone', 'from_name') }} ({{ state_attr('sensor.phone', 'from') }})"
        data:
          transparency: 85%
          duration: 5

The notification is send via Notifications for Android TV integration.
To introduce further media_players, I would some how need to evaluate, which of the once is currently playing media, remember that entity, pause media on this entity and later on resume media on the remembered entity (plus idealy show the notification not static for 5 seconds, but for the duration the phone is ringing).

Any suggestions how to realize this in Home Assistant?

May not solve all your problems but may give you some hints.