2016-05-02 4 views
0

Если я применяю этот код показывает ошибки не могу воспроизвести это видео Как я могу играть это видеоКак играть HD видео Youtube

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    VideoView videoView =(VideoView)findViewById(R.id.videoView); 
    MediaController mediaController= new MediaController(this); 
    mediaController.setAnchorView(videoView); 
    Uri uri= Uri.parse("https://www.youtube.com/watch?v=PdrTQmsxzpU"); 
    videoView.setMediaController(mediaController); 
    videoView.setVideoURI(uri); 
    videoView.requestFocus(); 
    videoView.start(); 
} 

Ошибка

mTotalSize is -1 
setReadTimeOut = 30000ms 
message received msg=100, ext1=1, ext2=-2147483648 
05-02 15:43:21.686 426-439/com.example.muhammad.youtubeproject E/MediaPlayer: error (1, -2147483648) 

V/MediaPlayer: back from callback 
Error (1,-2147483648) 
Error: 1,-2147483648 

ответ

0

Вы можете использовать YouTubePlayerView Вместо от Video View.

It is more Reliable to Play YouTube Videos.

Вот быстрый Начиная Snippet.

<com.google.android.youtube.player.YouTubePlayerView 
       android:id="@+id/youtube_view" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="30dp" /> 

фрагмент кода.

public class MainActivity extends YouTubeBaseActivity implements 
     YouTubePlayer.OnInitializedListener { 

    private static final int RECOVERY_DIALOG_REQUEST = 1; 

    // YouTube player view 
    private YouTubePlayerView youTubeView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     setContentView(R.layout.activity_main); 

     youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 

     // Initializing video player with developer key 
     youTubeView.initialize(Config.DEVELOPER_KEY, this); 

    } 

    @Override 
    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 
    public void onInitializationSuccess(YouTubePlayer.Provider provider, 
      YouTubePlayer player, boolean wasRestored) { 
     if (!wasRestored) { 

      // loadVideo() will auto play video 
      // Use cueVideo() method, if you don't want to play it automatically 
      player.loadVideo(Config.YOUTUBE_VIDEO_CODE); 

      // Hiding player controls 
      player.setPlayerStyle(PlayerStyle.CHROMELESS); 
     } 
    } 

    @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(Config.DEVELOPER_KEY, this); 
     } 
    } 

    private YouTubePlayer.Provider getYouTubePlayerProvider() { 
     return (YouTubePlayerView) findViewById(R.id.youtube_view); 
    } 

} 

Вот Ссылка СсылкаLook.

+0

Он показывает мне ошибку на этой YouTubeBaseActivity реализует YouTubePlayer.OnInitializedListener – Ahmad

+0

@Ahmad Посмотрите на ссылке и я дал наконец в моем ответе. пошаговая информация. –