2015-12-04 1 views
2

Код работает нормально, но я хочу воспроизвести свои собственные видеоролики url, а не из Youtube, и я не могу видеть, кто бы ни играл Parse Url в api. help Код работает нормально, но я хочу воспроизвести свои собственные видеоролики url, но не из Youtube, и я не могу видеть, кто бы ни играл Parse Url в api. helpКак использовать Android-плеер для воспроизведения на определенном Url?

import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
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.YouTubePlayer.Provider; 
import com.google.android.youtube.player.YouTubePlayerView; 

public class TruitonYouTubeAPIActivity extends YouTubeBaseActivity implements 
     YouTubePlayer.OnInitializedListener { 

    private YouTubePlayer YPlayer; 
    private static final String YoutubeDeveloperKey = "AIzaSyAc4bTnZDThXQUh3aTXnGFol4rWiGp6Cz0"; 
    private static final int RECOVERY_DIALOG_REQUEST = 1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

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





    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     // getMenuInflater().inflate(R.menu.you_tube_api, menu); 
     return true; 
    } 

    @Override 
    public void onInitializationFailure(YouTubePlayer.Provider provider, 
             YouTubeInitializationResult errorReason) { 
     if (errorReason.isUserRecoverableError()) { 
      errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show(); 
     } else { 
      String errorMessage = String.format(
        "There was an error initializing the YouTubePlayer", 
        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(YoutubeDeveloperKey, this); 
     } 
    } 

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

    @Override 
    public void onInitializationSuccess(Provider provider, 
             YouTubePlayer player, boolean wasRestored) { 
     YPlayer = player; 

/* 
* Now that this variable YPlayer is global you can access it 
* throughout the activity, and perform all the player actions like 
* play, pause and seeking to a position by code. 
*/ 
     if (!wasRestored) { 
      // how do i play my video from this place... NOT FROM YOUTUBE eg http://campusvibe.co.nf/clear.mp4 


     } 
    } 

} 
+0

Поскольку вы используете API YouTube для Android, я думаю, что он может воспроизводить только видео на YouTube. Попробуйте использовать VideoView. – cakan

+0

попробуйте этот учебник http://examples.javacodegeeks.com/android/android-videoview-example/ –

ответ

0

шаг для воспроизведения любого видеоролика.

1 создайте просмотр трубки в файле xml.

<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" /> 

2.inside Java файл

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

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

    } 
0

Внутри вашего состояние записи follwoing коды 'wasRestored!':

yourPlayerObj.loadVideo("videocode"); 

Надеется, что это помогает !!