I'm trying to implement a youtube player in an application that will pull the video url from the mysql database.
First I added to gradle
//Android youtube player
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5'
After that I added to my activity
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;
then
//youtube player
private YouTubePlayerView youTubePlayerView;
.
//youtube player
setupYoutubePlayer();
.
private void setupYoutubePlayer() {
youTubePlayerView = findViewById(R.id.youtube_player_view);
getLifecycle().addObserver(youTubePlayerView);
}
.
//if business has video_url show the layout , else hide the view
if (storeData.getVideo_url() != null && !storeData.getVideo_url().equals("null") && !storeData.getVideo_url().equals("")) {
//show ad
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
youTubePlayerView.addYouTubePlayerListener(new AbstractYouTubePlayerListener() {
@Override
public void onReady(@NonNull YouTubePlayer youTubePlayer) {
String videoId = AppHelper.extractYoutubeVideoId(storeData.getVideo_url());
if (videoId != null) youTubePlayer.cueVideo(videoId, 0);
}
});
findViewById(R.id.video_layout).setVisibility(View.VISIBLE);
}
}, 2000);
} else {
findViewById(R.id.video_layout).setVisibility(View.GONE);
}
//setup product variants
setupServicesWidget();
mViewManager.showContent();
}
However, the video still does not play, it just stays in loading mode. I checked the database in the video url it says the correct url exampl. https://www.youtube.com/watch?v=Emyasd....
I would like your help! Thank you very much in advance.
Part from layout
<com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
android:id="@+id/youtube_player_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:autoPlay="false"/>