首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CastCompanionLibrary将“播放列表”推到Chromecast上

使用CastCompanionLibrary将“播放列表”推到Chromecast上
EN

Stack Overflow用户
提问于 2015-11-11 15:13:24
回答 2查看 915关注 0票数 2

使用CastCompanionLibrary,向Chromecast发送一个MediaInfo来播放它很简单。

代码语言:javascript
复制
MediaInfo.Builder media = new MediaInfo.Builder("http://url.to/video.mp4");

VideoCastManager cast = ...
cast.startVideoCastControllerActivity(context, media.build(), 0, true);

为了创建队列(播放列表),建议发送多个MediaInfo的推荐方法是什么?

更新#1:

我试图将queueLoad添加到代码中。让它在startVideoCastControllerActivity之后运行。

代码语言:javascript
复制
MediaInfo.Builder info = new MediaInfo.Builder("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4");
info.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED);
info.setContentType("video/mp4");

MediaQueueItem[] items = new MediaQueueItem[] {
        new MediaQueueItem.Builder(info.build()).build(),
        new MediaQueueItem.Builder(info.build()).build(),
        new MediaQueueItem.Builder(info.build()).build()
};

cast.queueLoad(items, 0, 0, null);

它用这个日志使应用程序崩溃:

com.google.android.gms.cast.MediaMetadata.getString(java.lang.String)‘:尝试在com.google.android.libraries.cast.companionlibrary.cast.VideoCastManager.updateMiniController(SourceFile:309) at com.google.android.libraries.cast.companionlibrary.cast.VideoCastManager.updateMiniControllers(SourceFile:321) at com.google.android.libraries.cast.companionlibrary.cast.VideoCastManager.onRemoteMediaPlayerStatusUpdated(SourceFile:2126)的空对象引用上调用虚拟方法的java.lang.String com.google.android.libraries.cast.companionlibrary.cast.VideoCastManager.onRemoteMediaPlayerStatusUpdated(SourceFile:2126)在com.google.android.libraries.cast.companionlibrary.cast.VideoCastManager.access$200(SourceFile:136) at com.google.android.libraries.cast.companionlibrary.cast.VideoCastManager$22.onStatusUpdated(SourceFile:1804) at com.google.android.gms.cast.RemoteMediaPlayer.onStatusUpdated(Unknown Source) at com.google.android.gms.cast.RemoteMediaPlayer.zza(Unknown Source) at com.google.android.gms.cast.RemoteMediaPlayer$1.onStatusUpdated(Unknown Source)com.google.android.gms.cast.internal.zzm.zzbZ(Unknown源( com.google.android.gms.cast.RemoteMediaPlayer.onMessageReceived(Unknown源))( com.google.android.gms.cast.internal.zze$zzb$4.run(Unknown源)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-11 16:35:54

建议的方法是为每个MediaInfo创建一个MediaInfo,然后使用VideoCastManager#queueLoad()并传递一个MediaQueueItem数组。还可以从单个队列项开始,并将其追加到队列中,或者插入队列中的某个位置,等等;还有许多方法可以编辑和管理队列。

SDK (和CCL)中有一些回调可以让您知道队列何时更新,等等,因此您可以使用这些回调更新发送方(例如,如果发送方A更新队列,发送方B可以使用这些回调保持同步)。CastVideos应用程序使用它,并提供了一个简单的UI,可以将队列中的项目刷掉或重新排序等等。

票数 4
EN

Stack Overflow用户

发布于 2015-11-11 15:31:57

您必须创建一个自定义接收器来实现播放列表功能。如何使用javascript在接收者上实现播放列表结构取决于您。见这个答案从阿里纳达夫,为什么播放列表需要保持在接收者,而不是发送者。

至于加载多个MediaInfo项,您必须查看castManager和MediaQueueItem类的queueLoad方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33653566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档