从 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 并且在我的情况下还有一个),我从那里收到媒体请求。这一切开始完美运行。
我正在尝试使用提供的 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 并且在我的情况下还有一个),我从那里收到媒体请求。这一切开始完美运行。