Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Youtube api播放器持续停止_Android_Video_Youtube_Youtube Api_Android Youtube Api - Fatal编程技术网

Android Youtube api播放器持续停止

Android Youtube api播放器持续停止,android,video,youtube,youtube-api,android-youtube-api,Android,Video,Youtube,Youtube Api,Android Youtube Api,我正在使用youtube api player在我的应用程序中播放视频 youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance(); FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); transaction.add(R.id.youtube_view, youTubePlayerFragme

我正在使用youtube api player在我的应用程序中播放视频

    youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
    transaction.add(R.id.youtube_view, youTubePlayerFragment).commit();

    playerStateChangeListener = new MyPlayerStateChangeListener();
    playbackEventListener = new MyPlaybackEventListener();

    youTubePlayerFragment.initialize(ApplicationConstants.YOUTUBE_API_KEY, new YouTubePlayer.OnInitializedListener() {

        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
            mplayer = player;
            player.setFullscreen(false);
            player.setPlayerStateChangeListener(playerStateChangeListener);
            player.setPlaybackEventListener(playbackEventListener);
            player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE);
            if (!wasRestored) {
                player.cueVideo(url); // Plays https://www.youtube.com/watch?v=fhWaJi1Hsfo
            }
        }

        @Override
        public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult errorReason) {
        }
我正在更改设备配置更改时的播放器大小

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    int config = newConfig.orientation;
    FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) mYoutubeView.getLayoutParams();
    switch (config){
        case  Configuration.ORIENTATION_LANDSCAPE :
            mplayer.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE);
            params.height = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 300,getResources().getDisplayMetrics());
            params.width = LinearLayout.LayoutParams.WRAP_CONTENT ;//(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 375,getResources().getDisplayMetrics());
            mYoutubeView.setLayoutParams(params);
            break;
        case  Configuration.ORIENTATION_PORTRAIT :
            params.height = LinearLayout.LayoutParams.WRAP_CONTENT;
            params.width = LinearLayout.LayoutParams.MATCH_PARENT;
            mYoutubeView.setLayoutParams(params);
            break;
    }
}
使用此标志,我可以在播放器api中停止连续停止,
player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN\u标志\u始终\u全屏\u在\u景观中)

但问题是,

  • 播放视频时,如果用户最小化应用程序(按设备主页按钮),并在设置->字体大小中更改设备字体大小
  • 重新打开最小化,转到视频并将方向更改为水平,它将显示我在最小化应用程序之前播放的上一个视频
  • 如果我删除了
    player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN\u FLAG\u总是\u全屏\u在\u景观中),可以避免这种行为标志,但随后视频将连续停止
  • 尝试使用loadVideo()而不是cueVideo()

    尝试使用loadVideo()而不是cueVideo()