2017-01-24 3 views
0

У меня есть приложение для Android, которое я отправил и получил приостановлено, потому что проигрыватель youtube продолжает играть (звук), когда экран телефона заблокирован, и ответ был таким, что это не так позволил. Я хочу, чтобы видео приостановилось или даже остановилось, когда нажата клавиша удержания (клавиша блокировки экрана). Это мой код:Нужно приостановить или остановить видеопроигрыватель youtube, когда экран заблокирован.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.play_video); 
    Typeface tf = Typeface.createFromAsset(getAssets(), "28 Days Later.ttf"); 

    TextView title = (TextView)findViewById(R.id.title); 

    title.setTypeface(tf); 
    Intent in = getIntent(); 
    title.setText(in.getStringExtra("video_title")); 

    video_id = in.getStringExtra("video_id"); 

    YouTubePlayerView youTubePlayerView = (YouTubePlayerView)findViewById(R.id.youtubeplayerview); 
    youTubePlayerView.initialize(API_KEY, this); 
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

} 

@Override 
public void onInitializationFailure(Provider provider, 
YouTubeInitializationResult result) { 
Toast.makeText(getApplicationContext(), 
"onInitializationFailure()", 
Toast.LENGTH_LONG).show(); 
Toast.makeText(getApplicationContext(),video_id,Toast.LENGTH_SHORT).show(); 
} 

@Override 
public void onInitializationSuccess(Provider provider, YouTubePlayer player, 
           boolean wasRestored) { 

player.loadVideo(video_id); 

} 

ответ

0
  1. В вашем xml заменителя YouTubePlayerView с

    <FrameLayout 
        android:id="@+id/you_tube_player" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"/> 
    
  2. Сделайте свою деятельность, чтобы продлить Activity, FragmentActivity, AppCompatActivity и т.д. (другими словами, не использовать YouTubeBaseActivity в качестве материнской компании)
  3. В вашей деятельности вместо

    YouTubePlayerView youTubePlayerView = (YouTubePlayerView)findViewById(R.id.youtubeplayerview); 
    

    с

    YouTubePlayerFragment youTubePlayerView = new YouTubePlayerFragment(); 
    getFragmentManager().beginTransaction().replace(R.id.you_tube_player, mYouTubePlayer).commitAllowingStateLoss(); 
    
  4. В вашем onInitializationSuccess

    if (!wasRestored) { 
        youTubePlayer.cueVideo(ID); 
    } 
    

    Теперь видео будет пауза при выключении экрана.

P.s. рекомендуется использовать YouTubePlayerSupportFragment и getSupportFragmentManager(), если ваша деятельность распространяется на FragmentActivity или AppCompatActivity