2016-04-26 2 views
0

Мне нужно реализовать воспроизведение видео Youtube на Amazon Fine TV. Я решил использовать https://developers.google.com/youtube/android/player/. Моя активность:API для Android-плееров YouTube не работает на Amazon Fire TV

package com.ticketmaster.amazon.activity; 

import android.content.Intent; 
import android.os.Bundle; 
import android.widget.Toast; 

import com.google.android.youtube.player.YouTubeBaseActivity; 
import com.google.android.youtube.player.YouTubeInitializationResult; 
import com.google.android.youtube.player.YouTubePlayer; 
import com.google.android.youtube.player.YouTubePlayerView; 
import com.ticketmaster.amazon.R; 
import com.ticketmaster.api.helper.PropertiesHelper; 

/** 
* Created by Georgii on 4/26/2016. 
*/ 
public class PlaybackYoutubeActivity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener { 
    private static final int RECOVERY_REQUEST = 1; 
    public static final String YOUTUBE_KEY = "-----MYKEY----------"; 
    private YouTubePlayerView youTubeView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_youtube); 

     youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 
     PropertiesHelper.loadProperties(this); 
     youTubeView.initialize(YOUTUBE_KEY, this); 
    } 

    @Override 
    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { 
     if (!wasRestored) { 
      player.cueVideo("fhWaJi1Hsfo"); // Plays https://www.youtube.com/watch?v=fhWaJi1Hsfo 
     } 
    } 

    @Override 
    public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult errorReason) { 
     if (errorReason.isUserRecoverableError()) { 
      errorReason.getErrorDialog(this, RECOVERY_REQUEST).show(); 
     } else { 
      String errMsg = getString(R.string.video_error_unknown_error); 
      Toast.makeText(this, errMsg, Toast.LENGTH_LONG).show(); 
     } 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == RECOVERY_REQUEST) { 
      // Retry initialization if user performed a recovery action 
      getYouTubePlayerProvider().initialize(YOUTUBE_KEY, this); 
     } 
    } 

    protected YouTubePlayer.Provider getYouTubePlayerProvider() { 
     return youTubeView; 
    } 
} 

activity_youtube.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout mlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".activity.PlaybackYoutubeActivity"> 

<com.google.android.youtube.player.YouTubePlayerView 
    android:id="@+id/youtube_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

</RelativeLayout> 

Когда я запускаю диалоговые epeares и нажав кнопку "ПОЛУЧИТЬ КНОПКА YOUTUBE" doen't получить какой-либо результат. Значение YouTubeInitializationResult errorReason в обратном вызове onInitializationFailure is SERVICE_MISSING. Приложение Youtube установлено в Amazon Fire TV.

Кто-нибудь знает, как запустить Youtube Video в Amazon Fire TV?

+0

я с той же проблемой. Вы поняли это? – Androidicus

+0

У меня тоже такая же проблема :( – Kyk

ответ

1

Я столкнулся с той же проблемой.

После некоторых исследований я обнаружил возможный ответ here

Левон @ Amazon написал, что Youtube Video Player API является частью Google API, а не Android API, так что почему бы не работать.

Возможных решений могут быть:

  • sideload Google Play Services
  • дисплея YouTube видео в WebView

Надеется, что это помогает

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

  • Нет связанных вопросов^_^