package com.ridercode.provideo_editor.videocollage;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.res.Resources;
import android.content.res.Resources.NotFoundException;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.media.MediaMetadataRetriever;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaScannerConnection;
import android.media.ThumbnailUtils;
import android.net.ParseException;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Video.Media;
import android.provider.MediaStore.Video.Thumbnails;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewTreeObserver.OnPreDrawListener;
import android.view.animation.AnimationUtils;
import android.widget.AbsoluteLayout;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.ViewCompat;
import com.arthenica.mobileffmpeg.Config;
import com.bumptech.glide.load.Key;
import com.github.hiteshsondhi88.libffmpeg.ExecuteBinaryResponseHandler;
import com.github.hiteshsondhi88.libffmpeg.FFmpeg;
import com.github.hiteshsondhi88.libffmpeg.LoadBinaryResponseHandler;
import com.github.hiteshsondhi88.libffmpeg.exceptions.FFmpegCommandAlreadyRunningException;
import com.github.hiteshsondhi88.libffmpeg.exceptions.FFmpegNotSupportedException;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.ridercode.provideo_editor.R;
import com.ridercode.provideo_editor.StartActivity;
import com.ridercode.provideo_editor.VideoPlayer;
import com.ridercode.provideo_editor.ads.AdsManager;
import com.ridercode.provideo_editor.videocollage.json.CollageFrameJson;
import com.ridercode.provideo_editor.videocollage.json.FrameInfo;
import com.ridercode.provideo_editor.videocollage.json.FrameRCInfo;
import com.ridercode.provideo_editor.videocollage.model.AudioTrackData;
import com.ridercode.provideo_editor.videocollage.model.BorderAttribute;
import com.ridercode.provideo_editor.videocollage.model.CollageData;
import com.ridercode.provideo_editor.videocollage.stickers.ClgSingleFingerView;
import com.ridercode.provideo_editor.videocollage.stickers.ClgTagView;
import com.ridercode.provideo_editor.videocollage.stickers.StickerData;
import com.ridercode.provideo_editor.videocollage.stickers.StickerObj;
import com.ridercode.provideo_editor.videocollage.utils.BorderFrameLayout;
import com.ridercode.provideo_editor.videocollage.utils.DrawImageCanvas;
import com.ridercode.provideo_editor.videocollage.utils.ImageViewTouchListener;
import com.ridercode.provideo_editor.videocollage.utils.Utils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeUnit;
import yuku.ambilwarna.AmbilWarnaDialog;
import yuku.ambilwarna.AmbilWarnaDialog.OnAmbilWarnaListener;
import static com.arthenica.mobileffmpeg.Config.RETURN_CODE_CANCEL;
import static com.arthenica.mobileffmpeg.Config.RETURN_CODE_SUCCESS;
@SuppressLint({"WrongConstant"})
public class VideoCollageMakerActivity extends AppCompatActivity implements OnSeekBarChangeListener {
int Rs = 0;
static ArrayList<FrameLayout> a = null;
static final boolean aj = true;
static int b = 0;
static boolean c = false;
static String d = "";
ArrayList<ImageView> A;
FrameLayout B;
LinearLayout C;
LinearLayout D;
LinearLayout E;
LinearLayout F;
LinearLayout G;
GridView H;
Context I;
MediaPlayer J = null;
ProgressDialog K = null;
PopupWindow L;
int M = 0;
RelativeLayout N;
SeekBar O;
SeekBar P;
SeekBar Q;
ArrayList<StickerObj> S = new ArrayList<>();
TextView T;
TextView U;
TextView V;
String W = "";
OnClickListener X = new OnClickListener() {
@Override
public void onClick(View view) {
if (VideoCollageMakerActivity.this.J != null && VideoCollageMakerActivity.this.J.isPlaying()) {
try {
VideoCollageMakerActivity.this.J.pause();
VideoCollageMakerActivity.this.J.seekTo(VideoCollageMakerActivity.this.Rs);
} catch (IllegalStateException e) {
}
}
VideoCollageMakerActivity.b = Integer.parseInt(String.valueOf(view.getTag()));
View inflate = ((LayoutInflater) VideoCollageMakerActivity.this.getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.video_collage_select_popup, null);
VideoCollageMakerActivity.this.L = new PopupWindow(inflate, -1, -1);
VideoCollageMakerActivity.this.L.setOutsideTouchable(VideoCollageMakerActivity.aj);
VideoCollageMakerActivity.this.L.setBackgroundDrawable(new BitmapDrawable());
((Button) inflate.findViewById(R.id.btn_selectimage)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
VideoCollageMakerActivity.this.c(VideoCollageMakerActivity.b);
VideoCollageMakerActivity.this.L.dismiss();
}
});
((Button) inflate.findViewById(R.id.btn_selectvideo)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
VideoCollageMakerActivity.this.b(VideoCollageMakerActivity.b);
VideoCollageMakerActivity.this.L.dismiss();
}
});
VideoCollageMakerActivity.this.L.showAtLocation(VideoCollageMakerActivity.this.B, 17, 0, 0);
}
};
OnClickListener Y = new OnClickListener() {
@Override
public void onClick(View view) {
VideoCollageMakerActivity.this.f();
VideoCollageMakerActivity.this.g();
VideoCollageMakerActivity.this.G.setVisibility(0);
VideoCollageMakerActivity.this.P.setProgress(((BorderFrameLayout) Utils.borderlayout.get(0)).getStrokeWidth());
VideoCollageMakerActivity.this.P.setVisibility(0);
}
};
OnClickListener Z = new OnClickListener() {
@Override
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
KIKI专业视频编辑器应用程序是非常快速和有用的应用程序与Android的无限功能11支持,它有很多功能,如,视频编辑器,照片到GIF,视频到照片,快动作,慢动作,视频静音像许多功能和易于使用.而在这个应用程序有订阅选项与亲功能.你会得到收入订阅插播广告,横幅广告.我们整合了Facebook和AdMob广告。你将通过Admob或Facebook广告赚钱,也在应用程序购买 视频编辑器 视频为Gif 视频反转 快速运动 视频静音 视频混合 视频压缩器 视频到图像 视频切割机 慢动作 照片到视频 裁剪视频 镜子视频 音频压缩器 音频切割器 支持Android 10和11 目标Android Sdk 30
资源推荐
资源详情
资源评论
收起资源包目录
KIKI Pro视频编辑器Android Studio Java 项目源码 (804个子文件)
._buttons 233B
._fancy-type 233B
._icons 233B
._icons 233B
._link-icons 233B
._plugins 233B
._rtl 233B
._src 233B
gradlew.bat 2KB
executionHistory.bin 9.88MB
classAnalysis.bin 9.35MB
jarAnalysis.bin 2.26MB
fileHashes.bin 825KB
outputFiles.bin 326KB
taskHistory.bin 304KB
sha1-checksums.bin 141KB
md5-checksums.bin 34KB
resourceHashesCache.bin 19KB
last-build.bin 1B
screen.css 12KB
grid.css 10KB
screen.css 4KB
typography.css 3KB
ie.css 3KB
screen.css 2KB
screen.css 2KB
ie.css 2KB
print.css 2KB
forms.css 2KB
screen.css 1KB
print.css 1KB
reset.css 1KB
._screen.css 233B
._screen.css 233B
._screen.css 233B
._ie.css 233B
._forms.css 233B
._grid.css 233B
._ie.css 233B
._reset.css 233B
._typography.css 233B
._print.css 233B
._print.css 233B
._screen.css 171B
._screen.css 171B
.DS_Store 6KB
.DS_Store 6KB
._.DS_Store 82B
._.DS_Store 82B
.gitignore 222B
.gitignore 8B
build.gradle 3KB
build.gradle 465B
settings.gradle 51B
gradlew 5KB
Documentation.html 14KB
._index.html 171B
gradle-wrapper.jar 53KB
VideoCollageMakerActivity.java 275KB
VideoWatermarkActivity.java 89KB
MoiveMakerActivity.java 77KB
AudioCompressorActivity.java 53KB
AudioJoinerActivity.java 50KB
VideoToMP3ConverterActivity.java 49KB
MP3CutterActivity.java 48KB
VideoCropActivity.java 39KB
VideoMirrorActivity.java 36KB
VideoSplitterActivity.java 33KB
VideoCropAndCutActivity.java 31KB
VideoMuteActivity.java 31KB
VideoCompressor.java 30KB
VideoRotateActivity.java 28KB
CheapAMR.java 28KB
AudioVideoMixer.java 28KB
AddAudioActivity.java 28KB
VideoReverseActivity.java 27KB
HorizontalListView.java 27KB
VideoJoinerActivity.java 22KB
SlowMotionVideoActivity.java 22KB
FastMotionVideoActivity.java 22KB
VideoConverteractivity.java 21KB
StickerView.java 20KB
VideoToGIFActivity.java 20KB
SelectStickerActivity.java 19KB
FragmentText.java 19KB
DataBinder.java 18KB
AdsManager.java 18KB
ClgSingleFingerView.java 18KB
CheapAAC.java 18KB
SelectMusicActivity.java 18KB
VideoCutter.java 17KB
VideoPlayer.java 16KB
RangePlaySeekBar.java 16KB
SelectMusicActivity.java 16KB
SelectionListActivity.java 16KB
SelectMusicFragment.java 16KB
RangeSeekBar.java 16KB
MyMusicFragment.java 16KB
HomeTab.java 16KB
MyMusicFragment.java 15KB
共 804 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
小云同志你好
- 粉丝: 1049
- 资源: 935
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功