Skip to content

Commit 4f1c0a4

Browse files
committed
完善异常处理
1 parent dac2e94 commit 4f1c0a4

File tree

5 files changed

+32
-8
lines changed

5 files changed

+32
-8
lines changed

exoplayer/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ dependencies {
3434
api "com.google.android.exoplayer:exoplayer-dash:$exoplayersdkVersion"
3535
api "com.google.android.exoplayer:exoplayer-hls:$exoplayersdkVersion"
3636
api "com.google.android.exoplayer:exoplayer-smoothstreaming:$exoplayersdkVersion"
37-
api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
38-
// api project(':playerbase')
37+
// api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
38+
api project(':playerbase')
3939
}

exoplayer/src/main/java/com/kk/taurus/exoplayer/ExoMediaPlayer.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,11 +517,23 @@ public void onPlayerError(ExoPlaybackException error) {
517517
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_IO, bundle);
518518
break;
519519
case ExoPlaybackException.TYPE_RENDERER:
520-
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_COMMON, bundle);
520+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_RENDER, bundle);
521521
break;
522522
case ExoPlaybackException.TYPE_UNEXPECTED:
523523
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_UNKNOWN, bundle);
524524
break;
525+
case ExoPlaybackException.TYPE_REMOTE:
526+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_REMOTE, bundle);
527+
break;
528+
case ExoPlaybackException.TYPE_OUT_OF_MEMORY:
529+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_OUT_OF_MEMORY, bundle);
530+
break;
531+
case ExoPlaybackException.TYPE_TIMEOUT:
532+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_TIMED_OUT, bundle);
533+
break;
534+
default:
535+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_COMMON, bundle);
536+
break;
525537
}
526538
}
527539

ijkplayer/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ dependencies {
3131
implementation fileTree(include: ['*.jar'], dir: 'libs')
3232

3333
api "tv.danmaku.ijk.media:ijkplayer-java:$ijksdkVersion"
34-
api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
35-
// api project(':playerbase')
34+
// api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
35+
api project(':playerbase')
3636
}

ijkplayer/src/main/java/com/kk/taurus/ijkplayer/IjkPlayer.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private void openVideo(DataSource dataSource) {
194194
e.printStackTrace();
195195
updateStatus(STATE_ERROR);
196196
mTargetState = STATE_ERROR;
197-
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_COMMON, null);
197+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_IO, null);
198198
}
199199
}
200200

@@ -368,7 +368,10 @@ public void setDisplay(SurfaceHolder surfaceHolder) {
368368
submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_SURFACE_HOLDER_UPDATE, null);
369369
}
370370
}catch (Exception e){
371-
e.printStackTrace();
371+
Bundle bundle = BundlePool.obtain();
372+
bundle.putString("errorMessage", e.getMessage());
373+
bundle.putString("causeMessage", e.getCause()!=null?e.getCause().getMessage():"");
374+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_RENDER, bundle);
372375
}
373376
}
374377

@@ -380,7 +383,10 @@ public void setSurface(Surface surface) {
380383
submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_SURFACE_UPDATE, null);
381384
}
382385
}catch (Exception e){
383-
e.printStackTrace();
386+
Bundle bundle = BundlePool.obtain();
387+
bundle.putString("errorMessage", e.getMessage());
388+
bundle.putString("causeMessage", e.getCause()!=null?e.getCause().getMessage():"");
389+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_RENDER, bundle);
384390
}
385391
}
386392

playerbase/src/main/java/com/kk/taurus/playerbase/event/OnErrorEventListener.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ public interface OnErrorEventListener {
2727
int ERROR_EVENT_DATA_PROVIDER_ERROR = -88000;
2828

2929
//A error that causes a play to terminate
30+
int ERROR_EVENT_RENDER = -88010;
31+
3032
int ERROR_EVENT_COMMON = -88011;
3133

3234
int ERROR_EVENT_UNKNOWN = -88012;
@@ -43,6 +45,10 @@ public interface OnErrorEventListener {
4345

4446
int ERROR_EVENT_TIMED_OUT = -88018;
4547

48+
int ERROR_EVENT_OUT_OF_MEMORY = -88019;
49+
50+
int ERROR_EVENT_REMOTE = -88020;
51+
4652
void onErrorEvent(int eventCode, Bundle bundle);
4753

4854
}

0 commit comments

Comments
 (0)