从 android 应用投射 m3u8 文件

Casting m3u8 file from android app

我正在尝试使用提供的 chromecasting 框架在我的电视上播放视频。 The approach i followed 播放 mp4 效果很好。但现在我有不同的播放源。我的服务器上有一个由 m3u8 文件指向的视频文件。 因此,为了在电视上播放 m3u8 文件,我使用了以下 MediaInfo 对象和 content-type mentioned here 的变体。 我返回的 MediaObject 是:`

return new MediaInfo.Builder(Uri.parse(path).toString())
            .setStreamType(MediaInfo.STREAM_TYPE_LIVE)
            .setContentType("videos/mp4") //need to know **what should be content-type here**
            .setMetadata(movieMetadata)
            .setStreamDuration(mSelectedMedia.getData().getDuration() * 1000)
            .build();

请指导我在 chromecast 或电视上播放 m3u8 文件。 谢谢

首先,我不明白你 运行 是什么问题;始终将其包含在您的 post 中,以便您可以获得更好的响应。根据您提供的描述,您似乎正在投射指向某些文件的播放列表;如果是这种情况,您不应将流类型设置为实时流,而应使用缓冲类型(就像您对简单的 mp4 所做的那样)。其次,你用的是什么接收机?您的接收器应该能够处理 m3u8 播放列表。如果您使用 Styled 或 Default 接收器(或使用我们 GitHub 存储库中的 Reference 接收器,那么您应该没问题。最后,确保您使用 https 播放视频流(播放列表需要它)和另外你的服务器支持 CORS headers.

正如@naddaf 所建议的那样,问题出在 CORS 上。因此,我只是在服务器上 添加了我的域 (gstatic.com 并且在我的情况下还有一个),我从那里收到媒体请求。这一切开始完美运行。