gpt4 book ai didi

android - YouTubePlayerSupportFragment 监听器不工作

转载 作者:行者123 更新时间:2023-11-29 01:16:01 25 4
gpt4 key购买 nike

在我的 Fragment 类中,PlaybackEventListenerPlayerStateChangeListener 不起作用。它不会显示 toast 。

这是我的代码:

进口:

import android.os.Bundle; 
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.util.Log; import android.view.LayoutInflater;
import android.view.View; import android.view.ViewGroup;
import android.widget.Toast;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayer.OnInitializedListener;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerSupportFragment;

脚本:

private static final String API_KEY = "-------";
private static String VIDEO_ID = "------";
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {

final View rootView = inflater.inflate(R.layout.you_tube_api, container, false);

final YouTubePlayerSupportFragment youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
final FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.youtube_layout, youTubePlayerFragment).commit();

youTubePlayerFragment.initialize(API_KEY, new OnInitializedListener() {
@Override
public void onInitializationSuccess(Provider provider, final YouTubePlayer player, boolean wasRestored) {
/*Listener*/

final YouTubePlayer.PlaybackEventListener mPlaybackEventListener = new YouTubePlayer.PlaybackEventListener() {

@Override
public void onBuffering(boolean arg0) {
}

@Override
public void onPaused() {

}

@Override
public void onPlaying() {

}

@Override
public void onSeekTo(int arg0) {
}

@Override
public void onStopped() {

}

};
final YouTubePlayer.PlayerStateChangeListener mPlayerStateChangeListener = new YouTubePlayer.PlayerStateChangeListener() {

@Override
public void onAdStarted() {
}

@Override
public void onError(YouTubePlayer.ErrorReason arg0) {
}

@Override
public void onLoaded(String arg0) {
}

@Override
public void onLoading() {

}

@Override
public void onVideoEnded() {
Toast.makeText(getActivity(),"END",Toast.LENGTH_LONG).show();
}

@Override
public void onVideoStarted() {

}
};
player.setPlayerStateChangeListener(mPlayerStateChangeListener);
player.setPlaybackEventListener(mPlaybackEventListener);
if (!wasRestored) {
player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
player.loadVideo(VIDEO_ID);
player.play();
}
}

@Override
public void onInitializationFailure(Provider provider, YouTubeInitializationResult error) {
String errorMessage = error.toString();
Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show();
Log.d("errorMessage:", errorMessage);
}

});
return rootView;
}

有人可以帮帮我吗?

最佳答案

您可以尝试以下方式:

 youTubePlayerFragment.initialize(API_KEY, new OnInitializedListener() {
@Override
public void onInitializationSuccess(Provider provider, final YouTubePlayer player, boolean wasRestored) {
/*Listener*/

player.PlaybackEventListener mPlaybackEventListener = new YouTubePlayer.PlaybackEventListener() {

@Override
public void onBuffering(boolean arg0) {
}

@Override
public void onPaused() {

}

@Override
public void onPlaying() {

}

@Override
public void onSeekTo(int arg0) {
}

@Override
public void onStopped() {

}

};
player.PlayerStateChangeListener mPlayerStateChangeListener = new YouTubePlayer.PlayerStateChangeListener() {

@Override
public void onAdStarted() {
}

@Override
public void onError(YouTubePlayer.ErrorReason arg0) {
}

@Override
public void onLoaded(String arg0) {
}

@Override
public void onLoading() {

}

@Override
public void onVideoEnded() {
Toast.makeText(getActivity(),"END",Toast.LENGTH_LONG).show();
}

@Override
public void onVideoStarted() {

}
};

if (!wasRestored) {
player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
player.loadVideo(VIDEO_ID);
player.play();
}
}

@Override
public void onInitializationFailure(Provider provider, YouTubeInitializationResult error) {
String errorMessage = error.toString();
Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show();
Log.d("errorMessage:", errorMessage);
}

});

希望对您有所帮助。

关于android - YouTubePlayerSupportFragment 监听器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39664086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com