1

我无法从 youtube 流式传输实时视频,但普通视频可以在 android 中运行。

    public class ShowYoutube extends YouTubeFailureRecoveryActivity {

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

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

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

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

}

但是使用此代码,我可以流式传输普通视频文件,但不能流式传输实时 youtube 视频文件。

4

2 回答 2

0

尝试使用 VideoView 来流式传输视频,如下所示:

        videoView = (VideoView)findViewById(R.id.app_video_view);
    videoView.setOnCompletionListener(new OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub
            VideoStreamActivity.this.finish();
        }
    });

    MediaController mc = new MediaController(VideoStreamActivity.this);
    videoView.setMediaController(mc);
     String str = "VIDEO URL";
        Log.d(TAG, "url: "+str);
        Uri uri = Uri.parse(str);

        videoView.setVideoURI(uri);

        videoView.requestFocus();
    videoView.start();

并在您的布局文件中添加:

<VideoView
        android:id="@+id/app_video_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true" />

让我知道它是否有效。

问候, 塔希尔

于 2013-03-19T11:52:34.223 回答
0

我有一个稍微不同的问题。我可以播放一些现场视频。我查看了流的详细信息,但没有找到任何东西。我有一些想法可能会导致“不支持的视频格式” - DRM。某些视频可能以某种无法通过 api 验证的方式实现 DRM。另一个可能的原因:您要播放的实时视频 ID 不存在于有效的视频格式中(这是导致错误的最合理原因,但我找不到任何相关文档)。

于 2013-04-24T15:40:03.887 回答