1

ビデオをアプリに実装しようとしています。YouTubePlayer API を使用して自分のビデオを開くことができると思いました。通常の新しいインテントを開くと、これは正常に機能します。

しかし、アプリの下部にメニューがある childActivity で YouTubeVideoPlayer を開くと、実際には機能しません。

これは私がインテントを開こうとする方法です:

Intent video = new Intent(getParent(), MyYouTubeVideoPlayer.class);
TabGroupActivity videoActivity = (TabGroupActivity)getParent();
videoActivity.startChildActivity("Video", video);

動作していますが、プレーヤーは次のように述べています:「YouTube プレーヤーの初期化中にエラーが発生しました。

この ChildActivity 内で YouTubePlayer をアプリに実装する方法を知っている人はいますか? または、アプリで YouTube 動画を再生するための他の良い方法はありますか?

YouTubePlayer クラスは次のとおりです。

public class MyYouTubeVideoPlayer extends YouTubeFailureRecoveryActivity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.playerview_demo);

    YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
    youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, this);
  }

  public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
      boolean wasRestored) {
    if (!wasRestored) {
      player.cueVideo("wKJ9KzGQq0w");
    }
  }

  @Override
  protected YouTubePlayer.Provider getYouTubePlayerProvider() {
    return (YouTubePlayerView) findViewById(R.id.youtube_view);
  }

}

セカンドクラス:

public abstract class YouTubeFailureRecoveryActivity extends
        YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {

    private static final int RECOVERY_DIALOG_REQUEST = 1;

    public void onInitializationFailure(YouTubePlayer.Provider provider,

    YouTubeInitializationResult errorReason) {

        if (errorReason.isUserRecoverableError()) {

            errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show();

        } else {

            String errorMessage = String.format(
                    getString(R.string.error_player), errorReason.toString());

            Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();

        }

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if (requestCode == RECOVERY_DIALOG_REQUEST) {

            // Retry initialization if user performed a recovery action

            getYouTubePlayerProvider().initialize(DeveloperKey.DEVELOPER_KEY,
                    this);

        }

    }

    protected abstract YouTubePlayer.Provider getYouTubePlayerProvider();

}
4

1 に答える 1

0

私が知っているように、「YouTubePlayerView」でビューを広告すると、YouTubeプレーヤーは停止します。

広告と同じになるからです。

ちなみに、最新のyoutube APIを使ったサンプルアクティビティを作ってみました。

このソースは、「向きの問題」、「メディア ボリュームの問題」、「Youtube URL 解析の問題」を処理します。

  1. これはサンプル アクティビティ コードです。

    https://gist.github.com/TheFinestArtist/5545437

  2. サンプルアプリのgitプロジェクトはこちら

    https://github.com/TheFinestArtist/SimpleYouTubePlayer

  3. ダウンロードできるサンプルアプリも作りました

    https://play.google.com/store/apps/details?id=com.thefinestartist.simpleyoutubeplayer

于 2013-05-09T05:14:24.593 に答える