我使用YouTube API播放视频。我正在建立一个播放列表(在我的应用程序中),但是每当我移动到我的"添加歌曲"活动,视频停止播放。 有没有办法继续播放视频?也许在服务?如果是这样,怎么样?
我的PlayerActivity代码:
public class PlayerActivity extends YouTubeBaseActivity implements OnInitializedListener, YouTubePlayer.PlayerStateChangeListener {
private YouTubePlayerView playerView;
YouTubePlayer ytp;
private Button again;
private ArrayList<String> list;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_player);
playerView = (YouTubePlayerView)findViewById(R.id.player_view);
again = (Button) findViewById(R.id.bAgain);
list = new ArrayList<>();
playerView.initialize(YoutubeConnector.KEY, this);
again.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplication(),SearchActivity.class);
startActivityForResult(i,100);
}
});
}
@Override
public void onInitializationFailure(Provider provider,
YouTubeInitializationResult result) {
Toast.makeText(this, getString(R.string.failed), Toast.LENGTH_LONG).show();
}
@Override
public void onInitializationSuccess(Provider provider, YouTubePlayer player,
boolean restored) {
if(!restored){
list.add(getIntent().getStringExtra("VIDEO_ID"));
play();
}
}
private void play() {
ytp.setPlayerStateChangeListener(this);
ytp.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
ytp.loadVideo(getIntent().getStringExtra("VIDEO_ID"));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 100) {
list.add(getIntent().getStringExtra("VIDEO_ID"));
}
}
@Override
public void onLoading() {
}
@Override
public void onLoaded(String s) {
}
@Override
public void onAdStarted() {
}
@Override
public void onVideoStarted() {
}
@Override
public void onVideoEnded() {
if(list.hasNext())
playNext();
}
@Override
public void onError(YouTubePlayer.ErrorReason errorReason) {
}
}