我有一个带有YoutubeAndroidPlayerAPI.jar官方库版本1.2.2的android native 项目(java),该项目具有要在我的App中嵌入Youtube Player的功能。在迁移到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?
最佳答案
Youtube尚未更新播放器库。您可以使用android-youtube-player
https://github.com/PierfrancescoSoffritti/android-youtube-player
它与本地播放器非常相似。它使用webview和iframe播放视频。它提供了可自定义的播放器控件。
关于java - 在Android Studio中迁移到AndroidX后,YoutubeAndroidPlayerAPI错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56798955/