在 Styled Media Receiver Chromecast 上播放 M3U8
Posted
技术标签:
【中文标题】在 Styled Media Receiver Chromecast 上播放 M3U8【英文标题】:Playing M3U8 on Styled Media Receiver Chromecast 【发布时间】:2014-08-23 00:07:43 【问题描述】:我正在尝试从我的 android 发件人播放 M3U8 文件,如下所示:
metaData = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
metaData.putString(MediaMetadata.KEY_TITLE, "Demo Video");
MediaInfo mediaInfo = new MediaInfo.Builder(
"http://www.corsproxy.com/playertest.longtailvideo.com/adaptive/bbbfull/bbbfull.m3u8")
.setContentType("application/vnd.apple.mpegurl")
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(metaData)
.build();
player.load(client, mediaInfo, true)
.setResultCallback(new ResultCallback<RemoteMediaPlayer.MediaChannelResult>()
@Override
public void onResult(RemoteMediaPlayer.MediaChannelResult mediaChannelResult)
Status status = mediaChannelResult.getStatus();
if (status.isSuccess())
);
但是,我得到了错误
[cast.receiver.MediaManager] Load metadata error
[cast.player.api.Player] error
[cast.receiver.MediaManager] Load metadata error
[cast.receiver.MediaManager] Not sending LOAD error as there is no on going LOAD request
这是一个样式化媒体接收器,我的理解是它正在使用媒体播放器库,所以它应该能够处理 M3U8 对吗?所以我认为这可能是我的发件人部分的错误?我是否正确加载了 m3u8 网址?
【问题讨论】:
【参考方案1】:您可以在解析的 m3u8 条目上尝试 exp/imp 循环,将您的 m3su 属性替换为 u c "movieMetadata"...
private static MediaInfo buildMediaInfo(String title,
String subTitle, String studio, String url, String imgUrl, String bigImageUrl)
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, subTitle);
movieMetadata.putString(MediaMetadata.KEY_TITLE, title);
movieMetadata.putString(MediaMetadata.KEY_STUDIO, studio);
movieMetadata.addImage(new WebImage(Uri.parse(imgUrl)));
movieMetadata.addImage(new WebImage(Uri.parse(bigImageUrl)));
return new MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(getMediaType())
.setMetadata(movieMetadata)
.build();
那么当你有一个 MediaInfo 时......你需要来自某物的播放事件,并且你需要在每个播放项目的末尾有一个循环器,以在下一个 MediaInfo 条目上发出播放事件信号。我使用 CCL lib 构建了循环,它播放 MediaInfo 项目的列表。
【讨论】:
以上是关于在 Styled Media Receiver Chromecast 上播放 M3U8的主要内容,如果未能解决你的问题,请参考以下文章
在 Styled Media Receiver Chromecast 上播放 M3U8
Styled-component 和 Material 组件(媒体查询)
Material-UI 中使用 Styled-Components 的媒体查询