web-dev-qa-db-ja.com

Android YouTubeAPI「YouTubeプレーヤーの初期化中にエラーが発生しました」

私はAndroidアプリを持っており、YouTubeビデオを再生できます。最新のYouTube API(1.2.1)を使用しています。Androidバージョン4.0.4、4.3、4.4.4、または5.0で、完全に機能します(すべてのデバイスでYouTubeアプリバージョン10です。-。ただし、1つのデバイスではAndroid 4.0です。 4およびYouTubeアプリバージョン4.4.11は機能せず、「YouTubeプレーヤーの初期化中にエラーが発生しました」というエラーが表示されます。ドキュメントには、YouTubeアプリの最小必要バージョンは4.2.16であると書かれています。したがって、わかりません。 、 問題はどこだ。

誰かがアイデアを持っていますか、何が間違っているのですか、またはどうすればそれを修正できますか?

どうもありがとう...

7
pojta

Android youtubeアプリを最新バージョンに更新すると、確実に機能します!!

6
Sourav Nanda

その場所で設定を探すとは思ってもみませんでした。あなたが言ったようにそれは働いた。

設定に関する知識が少ない場合の手順は次のとおりです。

まず、行く必要があります設定-> バッテリー-> アプリの起動-> YouTube。

次に、オプションを無効にします自動的に管理します。

上記のオプションを無効にすると、ポップアップが表示されます。

次に、オプションを有効にしますSecondary Launch(他のアプリで起動できます)

1
Faiyyaz

ぜひお試しください。まず、以下のリンクからAndroidのYoutubeプレーヤーライブラリをダウンロードしてみてください:

Youtube Android Player

最初に次のようにインストールする必要があります:プロジェクト->メニュー:ファイル>構造>依存関係タブ>追加->ライブラリ依存関係

それが機能しない場合は、次の2つのいずれかを試してください。

を使用して、ライブラリのbuild.gradleファイル内の依存関係内にライブラリの依存関係を追加し、外部ライブラリにライブラリを貼り付けます。

OR

Appフォルダー内のlibsフォルダーに移動し、すべての.jar(ライブラリファイルなど)をそこに貼り付けます。ここでの秘訣は、settings.gradleファイル内に移動し、次の行を追加することです。include ':app:libs' after include ':app' It間違いなく動作します。

次に、次のようなレイアウトが必要です。

<com.google.Android.youtube.player.YouTubePlayerView
    Android:id="@+id/player_view"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"/>

そして、あなたはこのようなプレイヤー活動を持つことができます:

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("Your API Key", 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();
            }
        });
    }

}
0
Vahid