如何在不重启的情况下更新Google Cast元数据?

问题描述

我已经能够将元数据添加到我的演员表应用程序中,现在我想知道如何能够如此频繁地更新此信息?我想知道是否需要创建一个自定义接收器来执行此操作?我在下面包含了我的代码

window.__onGCastApiAvailable = function (isAvailable) {
  if (!isAvailable) {
    return false;
  }

  var castContext = cast.framework.CastContext.getInstance();

  castContext.setoptions({
    autoJoinPolicy: chrome.cast.AutoJoinPolicy.ORIGIN_ScopED,receiverApplicationId: '234F3A5F'
  });

  var stateChanged = cast.framework.CastContextEventType.CAST_STATE_CHANGED;
  castContext.addEventListener(stateChanged,async function (event) {
    var castSession = castContext.getCurrentSession();
    var mediainfo = new chrome.cast.media.MediaInfo('https://stream.livida.net','audio/mp3');
    mediainfo.Metadata = new chrome.cast.media.MusicTrackMediaMetadata()
    const apidata = await fetch('https://api.livida.net/api/radio').then(res => res.json())
    mediainfo.Metadata.MetadataType = 3
    mediainfo.Metadata.title = apidata.data.song.name
    mediainfo.Metadata.artist = apidata.data.song.artist
    mediainfo.Metadata.images = [{
      'url': apidata.data.song.art
    }]
    var request = new chrome.cast.media.LoadRequest(mediainfo)


    castSession && castSession
      .loadMedia(request)
      .then(function () {
        console.log('Success');
      })
      .catch(function (error) {
        console.log('Error: ' + error);
      });
  });
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...