2

CastCompanionLibraryを使用すると、簡単に をMediaInfoChromecast API に送信して再生できます。

MediaInfo.Builder media = new MediaInfo.Builder("http://url.to/video.mp4");

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

MediaInfoキュー (プレイリスト) を作成するために複数の を送信する推奨される方法は何ですか?

更新 #1:

コードに queueLoad を追加しようとしました。の後に実行しstartVideoCastControllerActivityます。

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);

次のログでアプリがクラッシュします。

java.lang.NullPointerException: 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) at 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) com.google.android.gms.cast.RemoteMediaPlayer.onStatusUpdated (不明なソース) com.google.android.gms.cast.RemoteMediaPlayer.zza (不明なソース) com.google.android.gms.cast.RemoteMediaPlayer$1.onStatusUpdated (不明なソース) com.google.android.gms .cast.internal.zzm.zza (不明なソース) com.google.android.gms.cast.internal.zzm.zzbZ (不明なソース) com.google.android.gms.cast.RemoteMediaPlayer.onMessageReceived (不明なソース) com.google.android.gms.cast.internal.zze$zzb$4.run で (不明なソース)onMessageReceived (不明なソース) com.google.android.gms.cast.internal.zze$zzb$4.run (不明なソース) でonMessageReceived (不明なソース) com.google.android.gms.cast.internal.zze$zzb$4.run (不明なソース) で

4

2 に答える 2

4

推奨される方法は、MediaInfo ごとに MediaQueueItem を作成してから、VideoCastManager#queueLoad() を使用して MediaQueueItem の配列を渡すことです。単一のキュー項目から開始してそれに追加したり、キューのどこかに挿入したりすることもできます。キューを編集および管理する方法もいくつかあります。

キューが更新されたときに通知する SDK (および CCL) からのコールバックがいくつかあるので、それらを使用して送信者側を更新できます (たとえば、送信者 A がキューを更新した場合、送信者 B はそれらのコールバックを使用して同期を維持できます)。 )。CastVideos-android アプリはそれを使用し、シンプルな UI を提供してキュー アイテムをスワイプしたり並べ替えたりします。

于 2015-11-11T16:35:54.680 に答える
0

プレイリスト機能を実装するには、カスタム レシーバーを作成する必要があります。JavaScript を使用してレシーバーにプレイリスト構造を実装する方法は、あなた次第です。送信者ではなく受信者でプレイリストを維持する必要がある理由については、アリ・ナダフからのこの回答を参照してください。

複数の MediaInfo アイテムをロードする限り、castManager および MediaQueueItem クラスの queueLoad メソッドを調べる必要があります。

于 2015-11-11T15:31:57.147 に答える