提交 d671a30d 编写于 作者: S shuyu

增加了NormalGSYVideoPlayer (2017-04-01)

上级 9f28567c
......@@ -2,8 +2,9 @@
### 1.6.2()
* 移除无用代码
* 增加了动态加载so的方法
* 修复了动态播放按键的显示小白点问题
* 增加了 NormalGSYVideoPlayer(使用正常图片做播放按键、系统loading的播放器)
* 增加了动态加载so的方法
```
/**
* 设置自定义so包加载类
......
......@@ -17,6 +17,7 @@ import com.shuyu.gsyvideoplayer.GSYVideoPlayer;
import com.shuyu.gsyvideoplayer.listener.LockClickListener;
import com.shuyu.gsyvideoplayer.utils.CommonUtil;
import com.shuyu.gsyvideoplayer.utils.OrientationUtils;
import com.shuyu.gsyvideoplayer.video.NormalGSYVideoPlayer;
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
import butterknife.BindView;
......@@ -31,7 +32,7 @@ public class WebDetailActivity extends AppCompatActivity {
@BindView(R.id.scroll_webView)
ScrollWebView webView;
@BindView(R.id.web_player)
StandardGSYVideoPlayer webPlayer;
NormalGSYVideoPlayer webPlayer;
@BindView(R.id.web_top_layout)
NestedScrollView webTopLayout;
@BindView(R.id.web_top_layout_video)
......@@ -51,7 +52,7 @@ public class WebDetailActivity extends AppCompatActivity {
String url = "http://baobab.wdjcdn.com/14564977406580.mp4";
//String url = "https://d131x7vzzf85jg.cloudfront.net/upload/documents/paper/b2/61/00/00/20160420_115018_b544.mp4";
webPlayer.setUp(url, true, null, "测试视频");
webPlayer.setUp(url, false, null, "测试视频");
//增加封面
ImageView imageView = new ImageView(this);
......
......@@ -30,7 +30,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
<com.shuyu.gsyvideoplayer.video.NormalGSYVideoPlayer
android:id="@+id/web_player"
android:layout_width="match_parent"
android:layout_height="200dp" />
......
......@@ -5,7 +5,7 @@
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorAccent">@color/colorPrimaryDark</item>
</style>
<!-- window 透明的-->
......
......@@ -651,17 +651,17 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP
/**
* 是否需要在buffer缓冲时,增加外部超时判断
* <p>
*
* 超时后会走onError接口,播放器通过onPlayError回调出
* <p>
*
* 错误码为 : BUFFER_TIME_OUT_ERROR = -192
* <p>
*
* 由于onError之后执行GSYVideoPlayer的OnError,如果不想触发错误,
* 可以重载onError,在super之前拦截处理。
* <p>
*
* public void onError(int what, int extra){
* do you want before super and return;
* super.onError(what, extra)
* do you want before super and return;
* super.onError(what, extra)
* }
*
* @param timeOut 超时时间,毫秒 默认8000
......
package com.shuyu.gsyvideoplayer.video;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;
import com.shuyu.gsyvideoplayer.R;
/**
* Created by guoshuyu on 2017/4/1.
* 使用正常播放按键和loading的播放器
*/
public class NormalGSYVideoPlayer extends StandardGSYVideoPlayer {
/**
* 1.5.0开始加入,如果需要不同布局区分功能,需要重载
*/
public NormalGSYVideoPlayer(Context context, Boolean fullFlag) {
super(context, fullFlag);
}
public NormalGSYVideoPlayer(Context context) {
super(context);
}
public NormalGSYVideoPlayer(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public int getLayoutId() {
return R.layout.video_layout_normal;
}
@Override
protected void updateStartImage() {
ImageView imageView = (ImageView) mStartButton;
if (mCurrentState == CURRENT_STATE_PLAYING) {
imageView.setImageResource(R.drawable.video_click_pause_selector);
} else if (mCurrentState == CURRENT_STATE_ERROR) {
imageView.setImageResource(R.drawable.video_click_play_selector);
} else {
imageView.setImageResource(R.drawable.video_click_play_selector);
}
}
}
<?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="match_parent"
android:background="@android:color/black">
<RelativeLayout
android:id="@+id/surface_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
</RelativeLayout>
<com.shuyu.gsyvideoplayer.GSYImageCover
android:id="@+id/cover"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:scaleType="fitXY" />
<RelativeLayout
android:id="@+id/thumb"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="#000000"
android:scaleType="fitCenter" />
<LinearLayout
android:id="@+id/layout_bottom"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:background="#99000000"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="invisible">
<TextView
android:id="@+id/current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:text="00:00"
android:textColor="#ffffff" />
<SeekBar
android:id="@+id/progress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1.0"
android:background="@null"
android:max="100"
android:maxHeight="4dp"
android:minHeight="4dp"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:progressDrawable="@drawable/video_seek_progress"
android:thumb="@drawable/video_seek_thumb" />
<TextView
android:id="@+id/total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:text="00:00"
android:textColor="#ffffff" />
<ImageView
android:id="@+id/fullscreen"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingRight="16dp"
android:scaleType="center"
android:src="@drawable/video_enlarge" />
</LinearLayout>
<ProgressBar
android:id="@+id/bottom_progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="1.5dp"
android:layout_alignParentBottom="true"
android:max="100"
android:progressDrawable="@drawable/video_progress" />
<ImageView
android:id="@+id/back_tiny"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginLeft="6dp"
android:layout_marginTop="6dp"
android:visibility="gone" />
<LinearLayout
android:id="@+id/layout_top"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/video_title_bg"
android:gravity="center_vertical">
<ImageView
android:id="@+id/back"
android:layout_width="48dp"
android:layout_height="48dp"
android:paddingLeft="10dp"
android:scaleType="centerInside"
android:src="@drawable/video_back" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:textColor="@android:color/white"
android:textSize="18sp" />
</LinearLayout>
<ProgressBar
android:id="@+id/loading"
style="?android:attr/progressBarStyleLarge"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:visibility="invisible" />
<ImageView
android:id="@+id/start"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:src="@drawable/video_click_play_selector" />
<ImageView
android:id="@+id/small_close"
android:layout_width="30dp"
android:layout_height="30dp"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:scaleType="centerInside"
android:src="@drawable/video_small_close"
android:visibility="gone" />
<ImageView
android:id="@+id/lock_screen"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="50dp"
android:scaleType="centerInside"
android:src="@drawable/unlock"
android:visibility="gone" />
</RelativeLayout>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册