在android应用程序中实现youtube播放器的最佳方法

在android应用程序中实现youtube播放器的最佳方法,android,performance,video,youtube-api,android-youtube-api,Android,Performance,Video,Youtube Api,Android Youtube Api,我正在开发一个android应用程序,我从一个json文件中获取mp4文件URL。现在我想使用youtube播放器在我的应用程序中播放这些文件。经过一些研究,我设法在我的应用程序中播放我的视频。但当我从播放视频回到应用程序的其他部分时,应用程序的速度似乎变慢了。我需要知道我做的是否正确 这是我用来播放视频的代码 if (YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(activity).equals(

我正在开发一个android应用程序,我从一个json文件中获取mp4文件URL。现在我想使用youtube播放器在我的应用程序中播放这些文件。经过一些研究,我设法在我的应用程序中播放我的视频。但当我从播放视频回到应用程序的其他部分时,应用程序的速度似乎变慢了。我需要知道我做的是否正确

这是我用来播放视频的代码

if (YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(activity).equals(
                        YouTubeInitializationResult.SUCCESS)
                        && android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                    Intent intent = YouTubeStandalonePlayer
                            .createVideoIntent(activity, API_KEY,
                                    video.getFile());
                    startActivity(intent);
                }
来自
video.getFile()我正在获取我的视频url


我已经使用YouTubeAndroidPlayerApi.jar作为库。

1.下载youtubeplyer API

  • 在谷歌开发者控制台上注册你的应用

  • 获取唯一的API密钥并在应用程序中使用

  • 使用下面的代码

    public class AboutUs extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_about_us);
    
        YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youtube_player);
        youTubePlayerView.initialize(Constants.YOUTUBE_API_KEY, this);
    
        initViews();
    }
    
    private void initViews() {
        Button btnVisitMega = (Button) findViewById(R.id.btn_visit_megaforties);
        Button btnVisitSecurity = (Button) findViewById(R.id.btn_visit_security_seals);
    
        btnVisitMega.setOnClickListener(this);
        btnVisitSecurity.setOnClickListener(this);
    }
    
    @Override
    public void onInitializationFailure(Provider arg0, YouTubeInitializationResult arg1) {
        Toast.makeText(this, "Failured to Initialize!", Toast.LENGTH_LONG).show();
    }
    
    @Override
    public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) {
        /** add listeners to YouTubePlayer instance **/
        player.setPlayerStateChangeListener(playerStateChangeListener);
        player.setPlaybackEventListener(playbackEventListener);
    
        /** Start buffering **/
        if (!wasRestored) {
            player.cueVideo(Constants.YOUTUBE_VIDEO_ID);
        }
    }
    
    private PlaybackEventListener playbackEventListener = new PlaybackEventListener() {
    
        @Override
        public void onBuffering(boolean arg0) {
        }
    
        @Override
        public void onPaused() {
        }
    
        @Override
        public void onPlaying() {
        }
    
        @Override
        public void onSeekTo(int arg0) {
        }
    
        @Override
        public void onStopped() {
        }
    };
    
    private PlayerStateChangeListener playerStateChangeListener = new PlayerStateChangeListener() {
    
        @Override
        public void onAdStarted() {
        }
    
        @Override
        public void onError(ErrorReason arg0) {
        }
    
        @Override
        public void onLoaded(String arg0) {
        }
    
        @Override
        public void onLoading() {
        }
    
        @Override
        public void onVideoEnded() {
        }
    
        @Override
        public void onVideoStarted() {
        }
    };