Browse Source

1,添加了播放器对象为空的判断

lyn 5 years ago
parent
commit
16b09c76e8

+ 50 - 0
gsyvideo/src/main/java/com/haochuan/gsyvideo/HCGsyVideoPlayer.java

@@ -11,6 +11,8 @@ import com.haochuan.core.BaseMediaPlayer;
 import com.haochuan.core.IVideoPlayer;
 import com.haochuan.core.Logger;
 
+import static com.haochuan.core.util.MessageCode.PLAYER_OBJ_NULL;
+
 
 public class HCGsyVideoPlayer extends BaseMediaPlayer{
 
@@ -55,17 +57,29 @@ public class HCGsyVideoPlayer extends BaseMediaPlayer{
     /*----------------------------从父类继承 播放器功能函数----------------------------------*/
     @Override
     public void play(String url,String examineId,String examineType) {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         mEmptyControlVideo.setUp(url,false,"");
         mEmptyControlVideo.startPlayLogic();
     }
 
     @Override
     public void setStartTime(int time){
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         mEmptyControlVideo.setStartTime(time);
     }
 
     @Override
     public void resume() {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             mEmptyControlVideo.onVideoResume();
         }else{
@@ -75,6 +89,10 @@ public class HCGsyVideoPlayer extends BaseMediaPlayer{
 
     @Override
     public void pause() {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             mEmptyControlVideo.onVideoPause();
         }else{
@@ -84,6 +102,10 @@ public class HCGsyVideoPlayer extends BaseMediaPlayer{
 
     @Override
     public void seek(int position) {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             mEmptyControlVideo.seekTo(position);
         }else{
@@ -92,21 +114,37 @@ public class HCGsyVideoPlayer extends BaseMediaPlayer{
     }
 
     public void setSpeed(float speed){
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         mEmptyControlVideo.setSpeed(speed);
     }
 
 
     public boolean isPlaying() {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return false;
+        }
         return mEmptyControlVideo.isPlaying();
     }
 
 
     public boolean isPrePared() {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return false;
+        }
         return mEmptyControlVideo.isPrePared();
     }
 
 
     public int getDuration() {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return 0;
+        }
         if(isPrePared()){
             return mEmptyControlVideo.getDuration();
         }else{
@@ -117,6 +155,10 @@ public class HCGsyVideoPlayer extends BaseMediaPlayer{
 
 
     public int getCurrentPlayPosition() {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return 0;
+        }
         if(isPrePared()){
             return mEmptyControlVideo.getCurrentPositionWhenPlaying();
         }else{
@@ -127,11 +169,19 @@ public class HCGsyVideoPlayer extends BaseMediaPlayer{
 
 
     public int getCurrentStatus() {
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return 6;
+        }
         return mEmptyControlVideo.getCurrentStatus();
     }
 
 
     public void release(){
+        if (mEmptyControlVideo == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         mEmptyControlVideo.release();
     }
 

+ 32 - 0
systemvideo/src/main/java/com/haochuan/systemvideo/SystemVideoPlayer.java

@@ -94,6 +94,10 @@ public class SystemVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void play(String url, String examineId, String examineType) {
+        if (videoView == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         videoView.setVideoPath(url);
         videoView.start();
         playerStatus = 1;   //视频准备中;
@@ -106,6 +110,10 @@ public class SystemVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void resume() {
+        if (videoView == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             videoView.start();
             playerStatus = 2;   //播放中;
@@ -116,6 +124,10 @@ public class SystemVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void pause() {
+        if (videoView == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             videoView.pause();
             playerStatus = 3;   //暂停中;
@@ -126,6 +138,10 @@ public class SystemVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void seek(int position) {
+        if (videoView == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             videoView.seekTo(position);
         }else{
@@ -135,6 +151,10 @@ public class SystemVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void release() {
+        if (videoView == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         videoView.stopPlayback();
         videoView.suspend();
         mHadPrepared = false;
@@ -143,6 +163,10 @@ public class SystemVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public boolean isPlaying() {
+        if (mediaPlayer == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return false;
+        }
         return mediaPlayer.isPlaying();
     }
 
@@ -153,11 +177,19 @@ public class SystemVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public int getDuration() {
+        if (mediaPlayer == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return 0;
+        }
         return mediaPlayer.getDuration();
     }
 
     @Override
     public int getCurrentPlayPosition() {
+        if (mediaPlayer == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return 0;
+        }
         return mediaPlayer.getCurrentPosition();
     }
 

+ 31 - 0
weilai_video/src/main/java/com/haochuan/weilai_video/WeiLaiVideoPlayer.java

@@ -79,10 +79,16 @@ public class WeiLaiVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void resume() {
+        if(icntvPlayer == null){
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             if(!icntvPlayer.isPlaying()){
                 icntvPlayer.startVideo();
                 playerStatus = 2;   //播放中
+            }else {
+                Logger.w("当前已经在播放,不用执行resume");
             }
         }else{
             Logger.w("视频未准备,不能执行resume");
@@ -91,6 +97,10 @@ public class WeiLaiVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void pause() {
+        if(icntvPlayer == null){
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             if(icntvPlayer.isPlaying()){
                 icntvPlayer.pauseVideo();
@@ -103,6 +113,10 @@ public class WeiLaiVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void seek(int position) {
+        if(icntvPlayer == null){
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         if(isPrePared()){
             icntvPlayer.seekTo(position);
         }else{
@@ -112,11 +126,19 @@ public class WeiLaiVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public void release() {
+        if(icntvPlayer == null){
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return;
+        }
         cntvPlayerRelease();
     }
 
     @Override
     public boolean isPlaying() {
+        if(icntvPlayer == null){
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return false;
+        }
         if(isPrePared()){
             return icntvPlayer.isPlaying();
         }else{
@@ -131,6 +153,10 @@ public class WeiLaiVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public int getDuration() {
+        if(icntvPlayer == null){
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return 0;
+        }
         if(isPrePared()){
             return icntvPlayer.getDuration();
         }else{
@@ -140,6 +166,10 @@ public class WeiLaiVideoPlayer extends BaseMediaPlayer {
 
     @Override
     public int getCurrentPlayPosition() {
+        if(icntvPlayer == null){
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
+            return 0;
+        }
         if(isPrePared()){
             return icntvPlayer.getCurrentPosition();
         }else{
@@ -184,6 +214,7 @@ public class WeiLaiVideoPlayer extends BaseMediaPlayer {
      */
     public void cntvPlayerRelease() {
         if (icntvPlayer == null) {
+            Logger.e(PLAYER_OBJ_NULL,"播放器对象为null,退出执行");
             return;
         }
         if (icntvPlayer.isPlaying()) {