在Android Studio中迁移到AndroidX后,YoutubeAndroidPlayerAPI错误。

问题描述 投票:8回答:1

我有一个安卓原生项目(java),其中的YoutubeAndroidPlayerAPI.jar官方库版本为1.2.2,它有一个功能可以在我的App中嵌入Youtube播放器。在迁移到AndroidX之前,一切工作都很正常。

我发现YoutubeAndroidPlayerAPI中的代码不支持AndroidX。扩展到Fragment的YoutubePlayerSupportFragment类仍然使用import android.support.v4.app.Fragment而不是androidx.fragment.app.Fragment。

我无法编辑YoutubeAndroidPlayerAPI(只读模式)的代码来迁移到AndroidX。

这是我的项目示例代码,在'setArguments'、'getArguments'和'getActivity'处出现错误和红色警告。

public class FragmentVideoPlayer extends YouTubePlayerSupportFragment implements YouTubePlayer.OnInitializedListener {

private YouTubePlayer player;
public FragmentVideoPlayer() {
    }

public static FragmentVideoPlayer newInstance(final String videoId) {
        final FragmentVideoPlayer youTubeFragment = new FragmentVideoPlayer();
        final Bundle bundle = new Bundle();
        bundle.putString(KEY_VIDEO_ID, videoId);
        youTubeFragment.setArguments(bundle);
        return youTubeFragment;
    }

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);

        final Bundle arguments = getArguments();

        if (bundle != null && bundle.containsKey(KEY_VIDEO_ID)) {
            mVideoId = bundle.getString(KEY_VIDEO_ID);
        } else if (arguments != null && arguments.containsKey(KEY_VIDEO_ID)) {
            mVideoId = arguments.getString(KEY_VIDEO_ID);
        }

        String API_KEY = new SharedPref(getActivity()).getYoutubeApiKey();
        initialize(API_KEY, this);
    }
}

这是YoutubeAndroidPlayerAPI的一些代码。

    package com.google.android.youtube.player;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.youtube.player.YouTubePlayer.OnInitializedListener;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerView.b;
import com.google.android.youtube.player.internal.ab;

public class YouTubePlayerSupportFragment extends Fragment implements Provider {
    private final YouTubePlayerSupportFragment.a a = new YouTubePlayerSupportFragment.a((byte)0);
    private Bundle b;
    private YouTubePlayerView c;
    private String d;
    private OnInitializedListener e;
    private boolean f;
}

请大家帮我解决这个问题。如何修复YoutubeAndroidPlayerAPI jar文件,使其支持AndroidX?

java android android-fragments android-youtube-api androidx
1个回答
0
投票

Youtube没有更新播放器库,你可以使用android-youtube-API.jar官方库1.2.2版本,在我的App中嵌入Youtube播放器的功能。你可以使用android-youtube-player https:/github.comPierfrancescoSoffrittiandroid-youtube-player。它与原生播放器非常相似。它使用webview和iframe来播放视频。它提供了可定制的播放器控制器。

© www.soinside.com 2019 - 2024. All rights reserved.