【发布时间】:2013-12-05 10:51:12
【问题描述】:
我正在尝试使用 Youtube API PlayMedia extends YouTubeFailureRecoveryActivity 播放 youtube 视频。
应用的导航
简介>>预览>>PlayMedia
我希望播放视频,即使预览中的应用无法播放。当我再次访问PlayMedia 时,我得到了
12-05 14:47:41.879: E/AndroidRuntime(24195): FATAL EXCEPTION: main
12-05 14:47:41.879: E/AndroidRuntime(24195): java.lang.IllegalStateException: This YouTubePlayer has been released
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.apps.youtube.api.jar.a.a.aa(SourceFile:138)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.apps.youtube.api.jar.a.a.l(SourceFile:364)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.internal.h.onTransact(SourceFile:150)
12-05 14:47:41.879: E/AndroidRuntime(24195): at android.os.Binder.transact(Binder.java:279)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.internal.d$a$a.c(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.internal.s.isPlaying(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.myproject.android.PlayMedia.onInitializationSuccess(PlayMedia.java:315)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.internal.r.g(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.internal.r$c.a(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.internal.r$b.a(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source)
12-05 14:47:41.879: E/AndroidRuntime(24195): at android.os.Handler.dispatchMessage(Handler.java:99)
12-05 14:47:41.879: E/AndroidRuntime(24195): at android.os.Looper.loop(Looper.java:130)
12-05 14:47:41.879: E/AndroidRuntime(24195): at android.app.ActivityThread.main(ActivityThread.java:3687)
12-05 14:47:41.879: E/AndroidRuntime(24195): at java.lang.reflect.Method.invokeNative(Native Method)
12-05 14:47:41.879: E/AndroidRuntime(24195): at java.lang.reflect.Method.invoke(Method.java:507)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
12-05 14:47:41.879: E/AndroidRuntime(24195): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
12-05 14:47:41.879: E/AndroidRuntime(24195): at dalvik.system.NativeStart.main(Native Method)
代码
private static YouTubePlayer video_player = new YouTubePlayer() {
@Override
public void setShowFullscreenButton(boolean arg0) {
}
@Override
public void setPlaylistEventListener(PlaylistEventListener arg0) {
}
@Override
public void setPlayerStyle(PlayerStyle arg0) {
}
@Override
public void setPlayerStateChangeListener(PlayerStateChangeListener arg0) {
}
@Override
public void setPlaybackEventListener(PlaybackEventListener arg0) {
}
@Override
public void setOnFullscreenListener(OnFullscreenListener arg0) {
}
@Override
public void setManageAudioFocus(boolean arg0) {
}
@Override
public void setFullscreenControlFlags(int arg0) {
}
@Override
public void setFullscreen(boolean arg0) {
}
@Override
public void seekToMillis(int arg0) {
}
@Override
public void seekRelativeMillis(int arg0) {
}
@Override
public void release() {
}
@Override
public void previous() {
}
@Override
public void play() {
}
@Override
public void pause() {
}
@Override
public void next() {
}
@Override
public void loadVideos(List<String> arg0, int arg1, int arg2) {
}
@Override
public void loadVideos(List<String> arg0) {
}
@Override
public void loadVideo(String arg0, int arg1) {
}
@Override
public void loadVideo(String arg0) {
}
@Override
public void loadPlaylist(String arg0, int arg1, int arg2) {
}
@Override
public void loadPlaylist(String arg0) {
}
@Override
public boolean isPlaying() {
return false;
}
@Override
public boolean hasPrevious() {
return false;
}
@Override
public boolean hasNext() {
return false;
}
@Override
public int getFullscreenControlFlags() {
return 0;
}
@Override
public int getDurationMillis() {
return 0;
}
@Override
public int getCurrentTimeMillis() {
return 0;
}
@Override
public void cueVideos(List<String> arg0, int arg1, int arg2) {
}
@Override
public void cueVideos(List<String> arg0) {
}
@Override
public void cueVideo(String arg0, int arg1) {
}
@Override
public void cueVideo(String arg0) {
}
@Override
public void cuePlaylist(String arg0, int arg1, int arg2) {
}
@Override
public void cuePlaylist(String arg0) {
}
@Override
public void addFullscreenControlFlag(int arg0) {
}
};
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,boolean wasRestored) {
if (!wasRestored) {
if(!video_player.isPlaying()){
player.cueVideo(video_URL);
video_player=player;
}
}
}
【问题讨论】:
-
@SilentKiller 请检查更新
-
你能显示完整的活动代码和 XML 吗?
标签: android youtube android-youtube-api