2015-06-24 2 views
3

Я использую API-интерфейс плеера для Android для воспроизведения некоторых видеороликов YouTube. Мой код работает отлично на:Nexus Player (Android TV) Ошибка YouTubeAndroidPlayerApi: «При инициализации проигрывателя YouTube произошла ошибка».

Samsung S3

Samsung Galaxy Tab III

Nexus 7 (с Android 5.1.1)

Но он не работает на Nexus Player. Я получаю сообщение об ошибке:

«Ошибка при инициализации проигрывателя YouTube».

Мой Youtube приложение на Nexus игрока версия 1.0.5.5

Я не мог видеть какие-либо признаки того, что приложение YouTube устарело, ни каким-либо образом, чтобы обновить его. Если это проблема, я буду давать инструкции по ее обновлению.

Я думаю, что мой манифест нормально:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="coacb.org.examplevideoondemandapp" > 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
       <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".vodActivity" /> 
     <activity 
      android:name=".youtubePlayer" 
      android:label="@string/title_activity_youtube_player" > 
     </activity> 
     <activity 
      android:name=".webviewInfo" 
      android:label="@string/title_activity_webview_info" > 
     </activity> 
    </application> 

</manifest> 

Заранее спасибо

ответ

1

Благодаря предложениям и комментарии dextor и ianhanniballake я был в состоянии заставить его хорошо работать со следующим кодом:

String videoID = "ARM42-eorzE";//youtube video id 
    if (getContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION) 
      || getContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK)){ 
     Intent youtubeIntent = YouTubeIntents.createPlayVideoIntent(getContext(), videoID); 
     context.startActivity(youtubeIntent); 
    } else { 
     Intent myIntent = new Intent(getContext(), youtubePlayer.class); 
     myIntent.putExtra("youtubeID",videoID); 
     context.startActivity(myIntent); 
    } 
+0

принять этот ответ! И БЛАГОДАРЮ ВАС! :) – MobileMon

2

Это происходит потому, что YouTube SDK для Android не (пока) поддержка Android TV.

Технически говоря, я считаю, что приложение YouTube для ТВ имеет другое название пакета, а в SDK YouTube используется приложение YouTube для установки видео (оно выступает как «удаленный просмотр» для YouTube). Несмотря на то, что SDK был недавно обновлен до версии 1.2.1, поддержка ТВ не была представлена.

+3

Одна вещь, чтобы отметить, что многие из [YouTubeIntents] (https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubeIntents) ** делать ** работать на Android TV, даже если ни один из остальных API не работает. – ianhanniballake

+0

Интересно, спасибо, что сообщили мне. – Sebastiano

Смежные вопросы