2014-09-24 82 views
1

嗨,我正在开发小型Android应用程序,我在其中启用了Chrome投射支持。我已经构建了小型视频流应用程序,并试图在Chrome投射设备上进行流式处理。如果使用带有mp4扩展名的媒体文件,那么它工作正常,但是当我尝试使用m3u8扩展名流媒体文件时,它不起作用。我的媒体信息数据看起来像这样无法在Chrome投射设备上流式传输视频

 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")尝试,但它不能流数据。但在设备上它工作正常,但在铬铸造设备上它不能正常工作。

有没有解决方案。需要帮忙。谢谢。

+1

是否有可能使用此解决方案? http://stackoverflow.com/questions/24178164/can-chromecast-cast-m3u8-live-stream-on-default-receiver – Chnoch 2014-09-24 12:42:38

+1

你需要提供控制台日志,看看发生了什么;确保CORS要求得到满足。 – 2014-09-24 15:21:38

+1

我在哪里必须提到接收方或发送方的CORS要求?我的发件人方是android媒体流应用程序,接收方是chromecast html5默认应用程序。 – nilkash 2014-09-25 03:58:54

回答

1

您为内容类型设置的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(); 
相关问题