从Android应用程序中投射m3u8文件

时间:2016-12-02 06:08:47

标签: android video video-streaming chromecast google-cast

我正在尝试使用提供的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文件。 感谢

2 个答案:

答案 0 :(得分:3)

首先,我没有看到你遇到了什么问题;始终在帖子中包含该内容,以便您获得更好的回复。根据您提供的描述,您似乎正在投射指向某些文件的播放列表;如果是这种情况,则不应将流类型设置为实时流,而应使用缓冲类型(就像您对简单的mp4所做的那样)。其次,你使用的接收器是什么?您的接收器应该能够处理m3u8播放列表。如果您使用Styled或默认接收器(或使用我们的GitHub仓库中的参考接收器,那么您应该没问题。最后,确保您使用https作为视频流(对于需要的播放列表)以及您的服务器支持CORS头。

答案 1 :(得分:1)

根据@naddaf的建议,问题出在CORS上。所以,我只是添加了我的域(gstatic.com,在我的情况下还有一个)在我收到媒体请求的服务器上。这一切都开始完美。