Chromecast是否支持Apple HLS



在Chromecast的文档中指出Chromecast确实支持HLS流。但我不能让它工作。

我创建了一个简单的应用程序,其中包含一个启动播放的按钮。对于 MP4 文件,它效果很好,但不适用于 HLS 流。这就是我开始直播的方式:

btnStart.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
  String url = "http://planeta-online.tv:1935/vod/mp4:tvt.russia.time_laps_in_st_piter.flv/manifest.m3u8";
  MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
   movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, "Subtitle");
   movieMetadata.putString(MediaMetadata.KEY_TITLE, "Title");
   movieMetadata.putString(MediaMetadata.KEY_STUDIO, "Studio");
   movieMetadata.addImage(new WebImage(Uri.parse("http://cdn.planeta-online.tv/kp/app/icons/i5.png")));
   movieMetadata.addImage(new WebImage(Uri.parse("http://cdn.planeta-online.tv/kp/app/icons/i5.png")));
   MediaInfo mSelectedMedia = new MediaInfo.Builder(url)
    .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
    .setContentType("application/vnd.apple.mpegurl")
    .setMetadata(movieMetadata)
    .build();
    mVideoCastManager.startCastControllerActivity(MainActivity.this, mSelectedMedia, 0, true);
   }
  });

我在 Wowza 上为这个流启用了 CORS,但它没有帮助。将 StreamType 从 MediaInfo.STREAM_TYPE_BUFFERED 更改为 MediaInfo.STREAM_TYPE_LIVE 也不会产生任何效果。还有其他想法吗?

你用的是什么接收器?您可以使用默认接收器或样式接收器;它们都支持 HLS。自适应流的处理由媒体播放器库 (MPL) 处理,如果要编写自己的自定义接收器,则需要使用该库;我们有一个示例可以做到这一点。

我发现将流的contentType设置为"video/m3u""video/m3u8"(取决于您的格式)适用于使用默认接收器的 HLS 流。

最新更新