общественный класс VideoDialog расширяет YouTubeFailureRecoveryActivity {можно ли отключить буферизацию видео в Youtube, используя API в Android?
List<String> playlist;
AlertDialog dialog;
YouTubePlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
requestWindowFeature(Window.FEATURE_PROGRESS);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Bundle bundle = getIntent().getExtras();
playlist=new ArrayList<String>();
playlist=bundle.getStringArrayList("VIDEO_LINK");
if(!playlist.isEmpty())
{
dialog = new AlertDialog.Builder(this).create();
LayoutInflater inflater = LayoutInflater.from(this);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
View view = inflater.inflate(R.layout.exvideo_lauout, null); // xml Layout file for imageView
Button btnCloseimg=(Button)view.findViewById(R.id.eximageclose);
btnCloseimg.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(player.isPlaying())
{
player.release();
}
playlist.clear();
playlist=null;
finish();
}
});
YouTubePlayerView youTubeView = (YouTubePlayerView)view. findViewById(R.id.youtube_view);
youTubeView.initialize(DEVELOPER_KEY,this);
dialog.setView(view);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT-150;
dialog.show();
dialog.setCanceledOnTouchOutside(false);
dialog.getWindow().setAttributes(lp);
}
else
{
Toast.makeText(this,"Error in URL..",Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public void onBackPressed()
{
super.onBackPressed();
if(player.isPlaying())
{
player.release();
}
playlist.clear();
playlist=null;
finish();
}
public void onInitializationSuccess(YouTubePlayer.Provider provider, final YouTubePlayer player,boolean wasRestored) {
if (!wasRestored)
{
this.player=player;
player.loadVideos(playlist);
player.setPlayerStyle(PlayerStyle.CHROMELESS);
player.play();
player.setPlayerStateChangeListener(new PlayerStateChangeListener() {
public void onVideoStarted() {
// TODO Auto-generated method stub
}
public void onVideoEnded() {
// TODO Auto-generated method stub
if(!player.hasNext())
{
//player.cueVideos(playlist);
player.loadVideos(playlist);
player.play();
}
else
{
player.play();
}
}
public void onLoading() {
// TODO Auto-generated method stub
}
public void onLoaded(String arg0) {
// TODO Auto-generated method stub
}
public void onError(ErrorReason arg0) {
// TODO Auto-generated method stub
Toast.makeText(VideoDialog.this,"Loading Error!!",Toast.LENGTH_SHORT).show();
}
public void onAdStarted() {
// TODO Auto-generated method stub
}
});
}
}
protected YouTubePlayer.Provider getYouTubePlayerProvider() {
return (YouTubePlayerView) findViewById(R.id.youtube_view);
}
}
мы должны играть несколько видео в андроид приложении без каких-либо задержек, но начальное время загрузки высоко в YouTube Player APi.is Есть ли способ уменьшить качество видео зависит от устройства ???
Как представляется, в соответствии с документацией ... вы пытались вызвать 'play()' в методе override 'onLoading()'? – Shark