提交 d466884f 编写于 作者: G guoshuyu

readme (2017-10-26)

上级 4f726a47
09.gif

479.5 KB

......@@ -103,7 +103,10 @@ compile 'com.shuyu:gsyVideoPlayer-ex_so:2.1.1'
* ### 3、弹幕
<img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/55.gif" width="240px" height="426px"/>
* ### 4、进度条小窗口预览
* ### 4、滤镜和GL动画
<img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/09.gif"/>
* ### 5、进度条小窗口预览
<img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/07.gif" height="240px"/>
## 五、近期版本
......
......@@ -20,6 +20,7 @@ import com.example.gsyvideoplayer.effect.PixelationEffect;
import com.example.gsyvideoplayer.utils.CommonUtil;
import com.example.gsyvideoplayer.video.SampleControlVideo;
import com.shuyu.gsyvideoplayer.GSYBaseActivityDetail;
import com.shuyu.gsyvideoplayer.listener.GSYVideoGifSaveListener;
import com.shuyu.gsyvideoplayer.render.view.GSYVideoGLView;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
import com.shuyu.gsyvideoplayer.render.effect.AutoFixEffect;
......@@ -49,9 +50,13 @@ import com.shuyu.gsyvideoplayer.render.effect.TintEffect;
import com.shuyu.gsyvideoplayer.render.effect.VignetteEffect;
import com.shuyu.gsyvideoplayer.listener.GSYVideoShotListener;
import com.shuyu.gsyvideoplayer.listener.LockClickListener;
import com.shuyu.gsyvideoplayer.utils.Debuger;
import com.shuyu.gsyvideoplayer.utils.FileUtils;
import com.shuyu.gsyvideoplayer.utils.GSYVideoType;
import com.shuyu.gsyvideoplayer.utils.GifCreateHelper;
import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Timer;
import java.util.TimerTask;
......@@ -87,6 +92,14 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
@BindView(R.id.change_anima)
Button anima;
@BindView(R.id.start_gif)
Button startGif;
@BindView(R.id.stop_gif)
Button stopGif;
@BindView(R.id.loadingView)
View loadingView;
private int type = 0;
......@@ -112,6 +125,8 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
private boolean moveBitmap = false;
private GifCreateHelper mGifCreateHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -127,6 +142,8 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
initVideoBuilderMode();
initGifHelper();
detailPlayer.setLockClickListener(new LockClickListener() {
@Override
public void onClick(View view, boolean lock) {
......@@ -198,6 +215,28 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
moveBitmap = !moveBitmap;*/
}
});
startGif.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startGif();
}
});
stopGif.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stopGif();
}
});
loadingView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do nothing
}
});
}
@Override
......@@ -269,6 +308,46 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
}
private void initGifHelper() {
mGifCreateHelper = new GifCreateHelper(detailPlayer, new GSYVideoGifSaveListener() {
@Override
public void result(boolean success, File file) {
detailPlayer.post(new Runnable() {
@Override
public void run() {
loadingView.setVisibility(View.GONE);
Toast.makeText(detailPlayer.getContext(), "创建成功", Toast.LENGTH_LONG).show();
}
});
}
@Override
public void process(int curPosition, int total) {
Debuger.printfError(" current " + curPosition + " total " + total);
}
});
}
/**
* 开始gif截图
*/
private void startGif() {
//开始缓存各个帧
mGifCreateHelper.startGif(new File(FileUtils.getPath()));
}
/**
* 生成gif
*/
private void stopGif() {
loadingView.setVisibility(View.VISIBLE);
mGifCreateHelper.stopGif(new File(FileUtils.getPath(), "GSY-Z-" + System.currentTimeMillis() + ".gif"));
}
/**
* 加载第三秒的帧数作为封面
*/
......
......@@ -35,8 +35,9 @@
android:layout_height="@dimen/post_media_height" />
<RelativeLayout
android:id="@+id/detail_player_control_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/detail_player">
<Button
......@@ -64,4 +65,54 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/detail_player_control_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/detail_player_control_1">
<Button
android:id="@+id/start_gif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="开始gif" />
<Button
android:id="@+id/stop_gif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_toRightOf="@+id/start_gif"
android:text="停止gif" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/loadingView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:background="#A0000000">
<ProgressBar
android:id="@+id/loading"
style="?android:attr/progressBarStyleLarge"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/loading"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="15dp"
android:text="处理中,请稍后"
android:textColor="#FFFFFF" />
</RelativeLayout>
</RelativeLayout>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册