13 Stimmen

Wie man ein YouTube-Video in Android einbettet und abspielt

Können wir YouTube-Videos in der Android-App ansehen? Ich meine, wenn wir einen Link zum Video auf YouTube haben, können wir es im VideoView oder einem anderen Widget abspielen? Irgendwelche Ideen dazu?

15voto

Lucifer Punkte 28913

Die Antwort ist einfach "JA".

Bitte schauen Sie sich den folgenden Link an,

Wie kann ich ein YouTube-Video in meiner Android-Anwendung abspielen?

Streaming von Youtube-Videos

5voto

Mohammad Punkte 5598

Als erstes sollten Sie versuchen, die Youtube-Player-Bibliothek für Android über den folgenden Link herunterzuladen:

Youtube Android Player

Sie sollten es zuerst so installieren: Projekt -> Menü: Datei > Struktur > Registerkarte Abhängigkeiten > Hinzufügen -> Bibliotheksabhängigkeit

Wenn es nicht funktioniert, versuchen Sie bitte eines dieser beiden:

Fügen Sie die Abhängigkeit der Bibliothek innerhalb der Abhängigkeit innerhalb der build.gradle-Datei der Bibliothek hinzu, die Sie verwenden, und fügen Sie Ihre Bibliothek in Externe Bibliotheken ein.

ODER

Gehen Sie einfach zu Ihrem libs-Ordner im app-Ordner und fügen Sie dort alle Ihre .jar z.B. Bibliotheksdateien ein. Jetzt kommt der Trick: Gehen Sie zur settings.gradle-Datei und fügen Sie diese Zeile hinzu: include ':app:libs' nach include ':app'. Es wird definitiv funktionieren.

Dann sollten Sie ein Layout wie dieses haben:

Und Sie können eine Player-Aktivität wie diese haben:

import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.youtube.YouTube;
import java.io.IOException;

public class YoutubeActivity extends YouTubeBaseActivity{

    private YouTubePlayerView playerView;
    private YouTube youtube;

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

        setContentView(R.layout.activity_youtube);

        youtube = new YouTube.Builder(new NetHttpTransport(),
                new JacksonFactory(), new HttpRequestInitializer() {
            @Override
            public void initialize(HttpRequest hr) throws IOException {}
        }).setApplicationName(this.getString(R.string.app_name)).build();

        playerView = (YouTubePlayerView)findViewById(R.id.player_view);
        playerView.initialize("Ihr API-Schlüssel", new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                if(!b){
                    String videoId = getIntent().getExtras().getString("videoID");
                    youTubePlayer.cueVideo(videoId);
                }
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                Toast.makeText(getApplicationContext(), getString(R.string.failed), Toast.LENGTH_LONG).show();
            }
        });
    }

}

1voto

Ravi Punkte 950

Es gibt eine offizielle YouTube Android Player API, die du verwenden kannst. Dies ist etwas komplizierter, aber es funktioniert besser als andere Lösungen, die Webclients verwenden.

Zunächst musst du deine App in der Google-API-Konsole registrieren. Dies ist vollkommen kostenlos, bis deine App über 25.000 Anfragen im Monat erhält (oder so ähnlich). Es gibt vollständige und großartige Tutorials unter dem Link. Ich hoffe, du kannst sie verstehen. Wenn nicht, frag! :)

1voto

Hitesh Sahu Punkte 37527

Sie können WebView verwenden, um dies zu tun. Hier ist der Bildschirm von dem, wie es mit WebView aussieht: -

YouTube mit WebView

Wenn das ist, was Sie erreichen wollen, können Sie die Beispiel-App hier bekommen: - https://github.com/hiteshsahu/Android-Universal-Web-Content-Loader

Es unterstützt sowohl den Porträt- als auch den Landschaftsmodus.

0voto

Naruto Punkte 9264

Um ein Youtube-Video zu implementieren, verweisen Sie auf diesen Beitrag

http://www.feelzdroid.com/2017/01/embed-youtube-video-player-android-app-example.html

Hier sind detaillierte Schritte mit bildlichen Darstellungen hinzugefügt, wenn Sie auf Probleme stoßen, lassen Sie es mich wissen.

Danke

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X