2016-11-02 10 views
1

私はthis project exampleを使ってテレビ画面に動画コンテンツをキャストしています。既にLocalPlayerActivityで再生中の動画をキャストしようとすると、奇妙な問題が発生します。だからLocalPlayerActivityの再生ボタンをクリックすると、ローカルプレーヤーでビデオを再生した後、[キャスト]ボタンをクリックしてビデオコンテンツをキャストするデバイスを選択します。その後表示されるExpandedControlsActivityが1秒間表示され、すぐに消えます。私はコード内の何かに触れていないということです。ExpandedControls既に再生中の動画をキャストすると反応が消えます

理解を深めるためにここにはthe video as wellがありますが、問題が発生する可能性があるのは誰ですか?

アンドロイドログ:

I/AppCompatViewInflater:アプリ:テーマは廃止されます。代わりにアンドロイド:テーマを使用してください。 D/LocalPlayerActivity:onResume()はD/ViewRootImplと呼ばれました。[LocalPlayerActivity]:changeCanvasOpacity:opaque = true D/LocalPlayerActivity:VideoViewのurlをD/LocalPlayerActivityに設定します。D/LocalPlayerActivity:コントロール:PlayBackState:IDLE D/LocalPlayerActivity:/ViewRootImpl [LocalPlayerActivity]:changeCanvasOpacity:opaque = false D/LocalPlayerActivity:停止TrickPlayタイマーD/LocalPlayerActivity:Restarted TrickPlayタイマーW/MediaPlayer:開けませんでしたhttps://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/mp4/DesigningForGoogleCast.mp4:java.io.FileNotFoundException:コンテンツプロバイダなし:https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/mp4/DesigningForGoogleCast.mp4 D/LocalPlayerActivity: D/LocalPlayerActivity:停止TrickPlayタイマーD/LocalPlayerActivity:再起動TrickPlayタイマーV/MediaRouter:ディスパッチングルート変更:UserRouteInfo {name = Nexus Player、description = Nexus Player 、status = null、category = RouteCategory {name =デバイスタイプ= ROUTE_TYPE_USER 0x7ca1451c00(ListView)onハンドル0x7ca20e1d80 I/DynamiteModule:ローカルモジュールを考慮com.google.android.gms.cast.framework.dynamite:0とremoteモジュールcom.google.android.gms.cast.framework.dynamite:5 I/DynamiteModule:com.google.android.gms.cast.framework.dynamite、version> = 5の選択されたリモートバージョンI/CastDynamiteModuleImpl:xv ClassLoaderによって作成されたcom.google.android.chimera.container.internal.DelegateLastPathClassLoader [DexPathList [[zipファイル "/ data/data/com//user/0/com.google.android.gms/app_chimera/m/00000005/n/arm64-v8a、/ system/lib64、/ vendor/lib64]]]をクリックします。 I/DynamiteModule:ローカルモジュールcom.google.android.gms.cast.framework.dynamite:0とリモートモジュールcom.google.android.gms.cast.framework.dynamite:5 I/DynamiteModule:comの選択されたリモートバージョンを考慮する。 google.android.gms.cast.framework.dynamite、version> = 5 I/CastDynamiteModuleImpl:xv ClassLoaderによって作成されましたcom.google.android.chimera.container.internal.DelegateLastPathClassLoader [DynPathList [[zipファイル "/ data/data/com [/ data/user/0/com.google.android.gms/app_chimera/m/00000005/n/arm64-v8a、/google_android.gms/app_chimera/m/00000005/DynamiteModulesC_GmsCore_prodmnc_alldpi_release.apk "]、nativeLibraryDirectories =システム/ lib64、/ベンダ/ lib64]]]。 V/MediaRouter:ルート変更のディスパッチ:UserRouteInfo {name = Nexus Player、description = Nexus Player、status = null、category = RouteCategory {name =デバイスタイプ= ROUTE_TYPE_USERグループ化可能= false}、supportedTypes = ROUTE_TYPE_USER、presentationDisplay = null} D/onSessionStarted :sessionId:5ee20da4-e9cf-4f99-ba97-bf3937df8246 D/LocalPlayerActivity:onPause()がD/LocalPlayerActivityと呼ばれました:コントロール:PlayBackState:PAUSED I/art:部分コードキャッシュコレクション、コード= 122KB、データ= 114KB I/art :コードキャッシュコレクション後、コード= 120KB、データ= 113KB I/art:コードキャッシュ容量を512KBに増やすD/LocalPlayerActivity:onResume()がI/DynamiteModuleと呼ばれました:ローカルモジュールcom.google.android.gms.cast.framework .dynamite:0とリモートモジュールcom.google.android.gms.cast.framework.dynamite:5 I/DynamiteModule:com.google.android.gms.cast.framework.dynamite、version> = 5の選択されたリモートバージョンI/CastDynamiteModuleImpl:xv ClassLoaderによって作成されましたcom.google.android.chimera.container.internal.Del egateLastPathClassLoader [DexPathList [[zipファイル "/ data/data/comp.google.android。/ system/lib64、/ g/app_chimera/m/00000005/n/arm64-v8a、/ system/lib64、/ g/app_chimera/m/00000005/DynamiteModulesC_GmsCore_prodmnc_alldpi_release.apk "]、nativeLibraryDirectories = [/ data/user/0/com.google.android.gms/app_chimera/I/DynamiteModule:ローカルモジュールcom.google.android.gms.cast.framework.dynamite:0とリモートモジュールcom.google.android.gms.cast.framework.dynamite:5 I/DynamiteModule :com.google.android.gms.cast.framework.dynamite、version> = 5の選択されたリモートバージョンI/CastDynamiteModuleImpl:xv ClassLoaderによって作成されましたcom.google.android.chimera.container.internal.DelegateLastPathClassLoader [DexPathList [[zipファイル"/data/data/com.google.android.gms/app_chimera/m/00000005/DynamiteModulesC_GmsCore_prodmnc_alldpi_release.apk"],nativeLibraryDirectories=[/data/user/0/com.google.android.gms/app_chimera/m/00000005/ I/DynamiteModule:ローカルモジュールcom.google.android.gms.cast.framework.dynamite:0とリモートモジュールcom.google.androidを考慮してください。 gms .cast.framework.dynamite:5 I/DynamiteModule:com.google.android.gms.cast.framework.dynamite、version> = 5の選択されたリモートバージョンI/CastDynamiteModuleImpl:xv ClassLoader com.google.android.chimeraによって作成されました。 container.internal.DelegateLastPathClassLoader [DexPathList [[zipファイル "/ data/data/com/data/data/user/.android.gms/app_chimera/m/00000005/n/arm64-v8a、/ system/lib64、/ vendor/lib64]]]をクリックします。 V/MediaRouter:ディスパッチングルートの変更:UserRouteInfo {name = Nexus Player、description = CastVideos、status = null、category = RouteCategory {name =デバイスタイプ= ROUTE_TYPE_USERグループ化可能= false}、supportedTypes = ROUTE_TYPE_USER、presentationDisplay = null} V/MediaRouter:ルート変更をディスパッチする:UserRouteInfo {name = Nexus Player、description =準備完了、ステータス= null、category = RouteCategory {name =デバイスタイプ= ROUTE_TYPE_USERグループ化可能= false}、supportedTypes = ROUTE_TYPE_USER、presentationDisplay = null} V/MediaRouter:ディスパッチルートV/MediaRouter:ルート変更のディスパッチング:UserRouteInfo {Name = Kantine TV、description = Chromecast、status = null、カテゴリ= RouteCategory {name =デバイスタイプ= ROUTE_TYPE_USERグループ化可能= false}、supportedTypes = ROUTE_TYPE_USER、presentationDisplay =タイプ= ROUTE_TYPE_USERグループ化可能= false}、supportedTypes = ROUTE_TYPE_USER、presentationDisplay = null} V =/mediaRouter:ルート変更のディスパッチ:UserRouteInfo {name = Nexus Player、description =準備完了、ステータス= null、category = RouteCategory {name =デバイスタイプ= ROUTE_TYPE_USERグループ化可能= false}、supportedTypes = ROUTE_TYPE_USER、presentationDisplay = null} I/DynamiteModule :ローカルモジュールcom.google.android.gms.cast.framework.dynamite:0とリモートモジュールcom.google.android.gms.cast.framework.dynamite:5 I/DynamiteModule:com.google.androidの選択されたリモートバージョン.gms.cast.framework.dynamite、version> = I/DynamiteModule:ローカルモジュールcom.google.android.gms.cast.framework.dynamite:0とリモートモジュールcom.google.android.gms.cast.framework.dynamiteを考慮する:5 I/DynamiteModule:com.google.android.gms.cast.framework.dynamite、バージョン> = 5の選択されたリモートバージョンD/skia:libjpegエラー102からread_header D/skia:--- SkAndroidCodec :: NewFromStreamがnullを返しましたI/CastDynamiteModuleImpl:xv ClassLoaderによって作成されましたcom.google.android.chimera.container.internal.DelegateLastPathClassLo ader [DexPathList [zipファイル "/data/data/com.google.android.gms/app_chimera/m/00000005/DynamiteModulesC_GmsCore_prodmnc_alldpi_release.apk"],nativeLibraryDirectories=[/data/user/0/com.google.android.gms/app_chimera/m/00000005/n/arm64-v8a、/ system/lib64、/ vendor/lib64]]]をクリックします。 I/DynamiteModule:ローカルモジュールcom.google.android.gms.cast.framework.dynamite:0とリモートモジュールcom.google.android.gms.cast.framework.dynamite:5 I/DynamiteModule:comの選択されたリモートバージョンを考慮する。 google.android.gms.cast.framework.dynamite、version> = 5 I/CastDynamiteModuleImpl:xv ClassLoaderによって作成されましたcom.google.android.chimera.container.internal.DelegateLastPathClassLoader [DynPathList [[zipファイル "/ data/data/com [/ data/user/0/com.google.android.gms/app_chimera/m/00000005/n/arm64-v8a、/google_android.gms/app_chimera/m/00000005/DynamiteModulesC_GmsCore_prodmnc_alldpi_release.apk "]、nativeLibraryDirectories =システム/ lib64、/ベンダ/ lib64]]]。 D/skia:read_headerからのlibjpegエラー102 D/skia:--- SkAndroidCodec :: NewFromStreamがnullを返しました/ DynamiteModule:ローカルモジュールcom.google.android.gms.cast.framework.dynamite:0とリモートモジュールcom.googleを考慮.android.gms.cast.framework.dynamite:5 I/DynamiteModule:com.google.android.gms.cast.framework.dynamite、version> = 5の選択されたリモートバージョンI/CastDynamiteModuleImpl:xv ClassLoaderによって作成されました.com.google。 android.chimera.container.internal.DelegateLastPathClassLoader [DexPathList [[zipファイル "/data/data/com.google.android。/ system/lib64、/ g/app_chimera/m/00000005/n/arm64-v8a、/ system/lib64、/ g/app_chimera/m/00000005/DynamiteModulesC_GmsCore_prodmnc_alldpi_release.apk "]、nativeLibraryDirectories = [/ data/user/0/com.google.android.gms/app_chimera/Skip:SkAndroidCodec :: NewFromStreamがnullを返しましたV/MediaRouter:ルート変更のディスパッチ:UserRouteInfo {name = Nexus Player、description = Ready to Cast、 V/MediaRouter:ルート変更のディスパッチ:UserRouteInfo {name = Nexus Player、description = Now Casting:Designing For Googleサポートされているタイプ= ROUTE_TYPE_USER、presentationDisplay = null} V/MediaRouter:ルート変更のディスパッチ:UserRouteInfo {name = Kantine TV、description = Chromecast、status = null、カテゴリ= RouteCategory {name = null、カテゴリ= RouteCategory {name =デバイスタイプ= ROUTE偽=グループ化可能_TYPE_USER}、supportedTypes = ROUTE_TYPE_USER、presentationDisplay =ヌル}

+1

そのサンプルにバグがあると思われる場合は、そのプロジェクトのGitHubでチケットを登録してください。 –

答えて

0

いくつか調査し、デバッグした後、私は回避策を見つけたと思います。 ExpandedControlsActivityを表示するコードを実行する前に、LocalPlayerActivityにメソッドonStatusUpdatedのスレッドを500ms停止しました。

remoteMediaClient.addListener(new RemoteMediaClient.Listener() 
      { 
       @Override 
       public void onStatusUpdated() 
       { 
        try 
        { 
         Thread.sleep(500); // add this line 
         Intent intent = new Intent(LocalPlayerActivity.this, ExpandedControlsActivity.class); 
         startActivity(intent); 
         remoteMediaClient.removeListener(this); 
        } 
        catch (Exception e) 
        { 
         Log.e("onStatusUpdated", e.toString()); 
        } 
       } 
       ... 

その後、ExpandedControlsActivityはもう消えません。

関連する問題