您好,我正在开发小型 Android 应用程序,在其中启用 chromecast 支持。我已经构建了小型视频流应用程序,并尝试在 Chrome Cast 设备上流式传输它。如果使用带有 mp4 扩展名的媒体文件,那么它工作正常,但是当我尝试流式传输带有 m3u8 扩展名的媒体文件时,它无法工作。我的媒体信息数据如下所示
mediaInfo = new MediaInfo.Builder("http://example.com/videos/hercules.mp4/playlist.m3u8")
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("video/m3u8")
.setMetadata(movieMetadata)
.build();
我尝试使用 setContentType("video/application/x-mpegURL")
和 setContentType("video/vnd.apple.mpegURL")
但它不是能够传输数据。但在设备上它工作正常,但在 chromecast 设备上它无法正常工作。
有没有办法解决这个问题。需要帮忙。谢谢。
最佳答案
您为内容类型设置的 m3u8 文件的正确 mimetype 应为 application/x-mpegURL
。对于流类型,m3u8 视频应为 MediaInfo.STREAM_TYPE_BUFFERED
,而 HLS 流应为 MediaInfo.STREAM_TYPE_LIVE
mediaInfo = new MediaInfo.Builder("http://example.com/videos/hercules.mp4/playlist.m3u8")
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("application/x-mpegURL")
.setMetadata(movieMetadata)
.build();
关于android - 无法在 Chrome Cast 设备上流式传输视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26016431/