从Android应用程序调用Google Chrome中的自定义媒体播放器

时间:2014-09-22 07:52:10

标签: android chromecast

我们正在尝试在Chrome演示中调用示例自定义媒体播放器HTML 5应用,该应用支持来自Android(应用)设备的自适应比特率流协议(如MPEG-DASH,HLS等)

接收器应用程序是在我们的服务器上运行的java脚本中。将在镀铬设备上推出

它需要Chrome演员媒体播放器Java脚本库&我们在Receiver Application中使用过它。目前,我们的发送者应用是Android App&只能调用"远程媒体播放器"只能播放MP4文件。

但是我们想要调用可以播放自适应比特率流协议的播放器。 有一个调用自定义媒体播放器的示例,但这只能通过桌面发送器应用上的Chrome浏览器启动,并支持Chrome强制转换扩展程序 样品如下:

目前,Android上的Chrome根据以下更新不支持扩展程序。

Chrome for Android是否支持应用和扩展程序? Chrome for Android目前不支持Chrome应用和扩展程序。我们目前没有计划宣布。

我们尝试在默认的RemoteMediaPlayer上播放MPEG-DASH,即使用加载API https://developer.android.com/reference/com/google/android/gms/cast/RemoteMediaPlayer.html

但即使在正确指定Mimetype之后,我们也无法在默认的RemoteMediaPlayer中播放链接。 例如。: http://commondatastorage.googleapis.com/gtv-videos-bucket/dash/BigBuckBunny/bunny_10s/BigBuckBunny_10s_isoffmain_url_relative_DIS_23009_1_v_2_1c2_2011_08_30.mpd

所以我们只是尝试使用示例中提供的自定义媒体播放器" CastMediaPlayerStreamingDRM" 但是如果没有来自Sender App的会话,我们就无法调用触发下面的函数。 我们找不到可以调用自定义媒体播放器功能的Cast SDK API。

mediaManager.onLoad = function(event) {
  mediaHost = new cast.player.api.Host({
    'mediaElement': mediaElement,
    'url': url
  });
}

我们只能通过Java脚本中的会话API chrome.cast.Session来实现这一点。为此,我们需要在浏览器上运行Chrome强制转换扩展程序。

session.loadMedia(request,
    onMediaDiscovered.bind(this, 'loadMedia'),
    onMediaError);

由于Android上的Chrome不支持扩展程序,我们正在检查如何加载自定义媒体接收器。

因此,请建议从Android设备启动自定义媒体播放器的任何替代方法。

1 个答案:

答案 0 :(得分:0)

您可以使用原生Android或iOS SDK在Chromecast上启动您的应用;这样做所需的所有api都在那里,你需要从这两个平台向chromecast发送自适应或非自适应媒体的所有api也是如此;对于接收器应用而不是发送者而言,播放自适应与非自适应媒体更是一个问题,因此Chrome,Android和iOS都可以在这方面做同样的事情。