Browse Source

暂时修复朋友圈视频播放问题

Bitliker 8 years ago
parent
commit
0988b60fb0

+ 1 - 1
WeiChat/src/main/AndroidManifest.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.xzjmyk.pm.activity"
-    android:versionCode="113"
+    android:versionCode="114"
     android:versionName="5.9.0">
 
     <uses-sdk

+ 6 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/PMsgDetailActivity.java

@@ -36,7 +36,7 @@ import com.xzjmyk.pm.activity.ui.circle.view.PMsgAudioHeaderView;
 import com.xzjmyk.pm.activity.ui.circle.view.PMsgDetailHeaderView;
 import com.xzjmyk.pm.activity.ui.circle.view.PMsgImageHeaderView;
 import com.xzjmyk.pm.activity.ui.circle.view.PMsgTypeView;
-import com.xzjmyk.pm.activity.ui.circle.view.PMsgVideoHeaderView;
+import com.xzjmyk.pm.activity.ui.circle.view.DMsgVideoHeaderView;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.view.CommentBottomView;
@@ -248,9 +248,9 @@ public class PMsgDetailActivity extends BaseActivity {
             @Override
             public void onScrollStateChanged(AbsListView view, int scrollState) {
                 if (scrollState == SCROLL_STATE_IDLE) {
-                    if (mPMsgTypeView instanceof PMsgVideoHeaderView) {
+                    if (mPMsgTypeView instanceof DMsgVideoHeaderView) {
                         mPullToRefreshListView.invalidate();
-                        ((PMsgVideoHeaderView) mPMsgTypeView).showHide();
+                        ((DMsgVideoHeaderView) mPMsgTypeView).showHide();
                     }
                 }
             }
@@ -339,7 +339,7 @@ public class PMsgDetailActivity extends BaseActivity {
         } else if (type == PublicMessage.TYPE_VOICE) {
             mPMsgTypeView = new PMsgAudioHeaderView(this);
         } else if (type == PublicMessage.TYPE_VIDEO) {
-            mPMsgTypeView = new PMsgVideoHeaderView(this);
+            mPMsgTypeView = new DMsgVideoHeaderView(this);
         }
         if (mPMsgTypeView != null) {
             mPullToRefreshListView.getRefreshableView().addHeaderView(mPMsgTypeView, null, false);
@@ -569,7 +569,7 @@ public class PMsgDetailActivity extends BaseActivity {
                 // mPullToRefreshListView.getRefreshableView().removeFooterView(mFooterView);
                 mAdapter.notifyDataSetInvalidated();
 
-                ((PMsgVideoHeaderView) mPMsgTypeView).setLandscapeMode();
+                ((DMsgVideoHeaderView) mPMsgTypeView).setLandscapeMode();
 
             } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
                 mCommentBottomView.setVisibility(View.VISIBLE);
@@ -587,7 +587,7 @@ public class PMsgDetailActivity extends BaseActivity {
                 // mPullToRefreshListView.getRefreshableView().addHeaderView(mPMsgDetailView);
                 // mPullToRefreshListView.getRefreshableView().addFooterView(mFooterView);
                 mAdapter.notifyDataSetInvalidated();
-                ((PMsgVideoHeaderView) mPMsgTypeView).setPortraitMode();
+                ((DMsgVideoHeaderView) mPMsgTypeView).setPortraitMode();
 
             }
         }

+ 35 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/view/DMsgVideoHeaderView.java

@@ -1,21 +1,20 @@
 package com.xzjmyk.pm.activity.ui.circle.view;
 
 import android.content.Context;
+import android.media.MediaPlayer;
 import android.net.Uri;
+import android.support.v4.widget.ContentLoadingProgressBar;
 import android.view.LayoutInflater;
 import android.widget.MediaController;
 import android.widget.VideoView;
 
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.circle.PublicMessage;
-
-/**
- * Created by Bitliker on 2017/9/5.
- */
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 
 public class DMsgVideoHeaderView extends PMsgTypeView {
 
-
+    private ContentLoadingProgressBar progress;
     private final MediaController mediaController;
     private final VideoView videoVV;
 
@@ -23,9 +22,25 @@ public class DMsgVideoHeaderView extends PMsgTypeView {
         super(context);
         LayoutInflater.from(getContext()).inflate(R.layout.header_view_video, this);
         videoVV = (VideoView) findViewById(R.id.videoVV);
+        progress = (ContentLoadingProgressBar) findViewById(R.id.progress);
         mediaController = new MediaController(context);
         mediaController.setMediaPlayer(videoVV);
         videoVV.setMediaController(mediaController);
+        videoVV.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
+            @Override
+            public void onPrepared(MediaPlayer mp) {
+                LogUtil.i("setOnPreparedListener");
+                progress.setVisibility(GONE);
+            }
+        });
+        videoVV.setOnErrorListener(new MediaPlayer.OnErrorListener() {
+            @Override
+            public boolean onError(MediaPlayer mp, int what, int extra) {
+                LogUtil.i("setOnErrorListener");
+                progress.setVisibility(GONE);
+                return false;
+            }
+        });
     }
 
     @Override
@@ -48,4 +63,19 @@ public class DMsgVideoHeaderView extends PMsgTypeView {
     public void onDestory() {
 
     }
+
+    @SuppressWarnings("deprecation")
+    public void setLandscapeMode() {
+//        int screenwidth = ((Activity) getContext()).getWindowManager().getDefaultDisplay().getWidth();
+//        int screenheight = ((Activity) getContext()).getWindowManager().getDefaultDisplay().getHeight();
+//        setLayoutParams(new AbsListView.LayoutParams(screenwidth, screenheight));
+    }
+
+    public void setPortraitMode() {// 设置动态高度为255dp
+//        setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, getResources().getDimensionPixelSize(
+//                R.dimen.pmsg_media_view_height)));
+    }
+
+    public void showHide() {
+    }
 }

+ 14 - 3
WeiChat/src/main/res/layout/header_view_video.xml

@@ -1,10 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="match_parent"
-                android:layout_height="220">
+                android:layout_height="220dp"
+                android:background="@color/base_bg">
+
 
     <VideoView
         android:id="@+id/videoVV"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_centerHorizontal="true" />
+
+    <android.support.v4.widget.ContentLoadingProgressBar
+        android:id="@+id/progress"
+        style="@android:style/Widget.ProgressBar"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerInParent="true" />
+
 </RelativeLayout>