Reputation: 2475
I know that if you want to play a YouTube video, your activity has to extend YouTubeBaseActivity
and implement YouTubePlayer.OnInitialzedListener
, but what if those aren't being recognized in Android Studio?
I've gotten it to work with Eclipse multiple times, but this is my first app in Android Studio and I'm not finding a lot of resources to help me know what to do differently.
public class VideoPlayerActivity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener{
This is the code in onCreate
I used in Eclipse:
ytpv = (YouTubePlayerView) findViewById(R.id.youtubeplayer);
ytpv.initialize(DEVELOPER_KEY, this);
Also this:
@Override
public void onInitializationFailure(Provider arg0, YouTubeInitializationResult arg1) {
Toast.makeText(this, "Initialization Fail", Toast.LENGTH_LONG).show();
}
And the clincher where filename
was just the youtube id:
@Override
public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasrestored) {
yt_player = player;
Bundle info = getIntent().getExtras();
if(info == null){
Log.d(TAG, "No extras!");
return;
}
fileName = info.getString("filename");
if(fileName.equalsIgnoreCase("null")){
availability.setVisibility(View.VISIBLE);
ytpv.setVisibility(View.GONE);
}else{
Log.d(TAG, "Play video!");
yt_player.loadVideo(fileName);
}
}
Layout file looks like this:
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubeplayer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/eturl"
>
</com.google.android.youtube.player.YouTubePlayerView>
Any tips/advice/critique will be warmly welcomed.
Upvotes: 2
Views: 4743
Reputation: 2475
I found the answer on this Google product forums which helped to solve my problem of the video not playing (see my comment on my answer). :)
SOLUTION: Give ONLY the YouTube ID and not the entire YouTube URL to the loadVideo()
function.
Upvotes: 1
Reputation: 2475
This helped me: Add YouTube Data API to Android Studio
1 - I actually forgot to get the library .jar file from the Eclipse project where I got it to work (noob fault).
2 - I didn't think about Gradle specification:
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
Upvotes: 3