Skip to content

Commit

Permalink
Merge pull request #191 from ShaoLongFei/v3.2.0
Browse files Browse the repository at this point in the history
Release v3.2.0
  • Loading branch information
BoleLiu authored Dec 2, 2020
2 parents b43133a + 9575615 commit ae0c534
Show file tree
Hide file tree
Showing 177 changed files with 1,016 additions and 364 deletions.
39 changes: 39 additions & 0 deletions ReleaseNotes/release-notes-3.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# PLDroidShortVideo Release Notes for 3.2.0

### 简介

PLDroidShortVideo 是七牛推出的一款适用于 Android 平台的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、本地/云端存储在内的多种功能,支持高度定制以及二次开发。

### 版本

* 发布 pldroid-shortvideo-3.2.0.jar
* 更新 libpldroid\_shortvideo_core.so

### 功能

* 图片合成新增预览及多个转场功能
* 新增屏幕录制帧率设置
* 视频拼接功能支持缩放模式设置

### 缺陷
* 修复快速剪辑后的视频文件信息异常的问题
* 修复在某些机型上会偶现混音卡住的问题
* 修复转码偶现的空指针异常的问题
* 修复某些机型极慢速录制时偶现的花屏问题

### 注意事项

* 从 v3.1.0 版本开始,需要在 Application 中初始化 sdk:

```java
PLShortVideoEnv.init(getApplicationContext());
```

* 七牛短视频 SDK 自 v3.0.0 版本起, 划分为精简版、基础版、进阶版、专业版。不同版本 SDK 可以使用的功能点数量有差别,请按照购买的 License 版本使用对应的短视频 SDK 版本。
* 上传 SDK 的依赖需要更新到如下版本:

```java
compile 'com.qiniu:qiniu-android-sdk:7.6.4'
```


40 changes: 27 additions & 13 deletions ShortVideoFunctionDemo/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ android {
applicationId "com.qiniu.pili.droid.shortvideo.demo"
minSdkVersion 18
targetSdkVersion 26
versionCode 29
versionName "3.1.1"
versionCode 31
versionName "3.2.0"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
buildConfigField "long", "BUILD_TIMESTAMP", System.currentTimeMillis() + "L"
Expand All @@ -29,23 +29,37 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}

dependencies {
implementation 'com.qiniu:qiniu-android-sdk:7.3.11'
implementation files('libs/pldroid-shortvideo-3.1.1.jar')
// 上传 sdk ,不使用上传功能无需依赖
implementation 'com.qiniu:qiniu-android-sdk:7.6.4'
// 播放器 sdk ,非必须
implementation files('libs/pldroid-player-2.1.8.jar')
// 如果接入 EasyAR 则需要依赖
implementation files('libs/EasyAR.jar')
implementation files('libs/EasyAR3D.jar')

implementation 'com.android.support:multidex:1.0.3'
// UI 控件库,非必须
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.7'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'

implementation files('libs/universal-image-loader-1.9.4.jar')
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
implementation 'com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.10.6'
// 图片加载库,非必须
implementation files('libs/universal-image-loader-1.9.4.jar')
implementation 'com.github.bumptech.glide:glide:4.9.0'
}
// 为了规避单个 DEX 64K 方法数上限,非必须
implementation 'androidx.multidex:multidex:2.0.1'

if (buildWithShortVideoLibrary) {
implementation project(':library')
} else {
// 短视频 SDK jar 包,必须依赖
implementation files('libs/pldroid-shortvideo-3.2.0.jar')
}
}
Binary file not shown.
Binary file not shown.
10 changes: 8 additions & 2 deletions ShortVideoFunctionDemo/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,17 @@
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".activity.ConfigActivity"></activity>
<activity android:name=".activity.ConfigActivity" />
<activity android:name=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activity.VideoRecordActivity" />
<activity
android:name=".activity.VideoRecordActivity"
android:screenOrientation="portrait" />
<activity
android:name=".activity.AudioRecordActivity"
android:screenOrientation="portrait" />
Expand Down Expand Up @@ -115,6 +117,10 @@
android:screenOrientation="portrait"
android:theme="@style/AppTheme" />
<activity android:name=".activity.WebViewActivity" />
<activity
android:name=".activity.ImageComposeWithTransitionActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme" />
</application>

</manifest>
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.qiniu.pili.droid.shortvideo.demo;

import android.app.Application;
import androidx.multidex.MultiDexApplication;

import com.qiniu.pili.droid.shortvideo.PLShortVideoEnv;

public class ShortVideoApplication extends Application {
public class ShortVideoApplication extends MultiDexApplication {

@Override
public void onCreate() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.qiniu.pili.droid.shortvideo.demo.activity;

import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import android.media.MediaExtractor;
import android.media.MediaFormat;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
Expand Down Expand Up @@ -79,12 +79,12 @@ protected void onCreate(Bundle savedInstanceState) {
mExternalMediaRecorder.setRecordStateListener(this);
mExternalMediaRecorder.prepare(videoEncodeSetting, audioEncodeSetting, recordSetting);

mPlayButton = (Button)findViewById(R.id.play);
mStopButton = (Button)findViewById(R.id.stop);
mPlayButton = (Button) findViewById(R.id.play);
mStopButton = (Button) findViewById(R.id.stop);
mPlayButton.setOnClickListener(this);
mStopButton.setOnClickListener(this);

mVideoTextureView = (PLVideoTextureView)findViewById(R.id.video);
mVideoTextureView = (PLVideoTextureView) findViewById(R.id.video);
mVideoTextureView.setVideoPath(SRC_VIDEO_FILE_PATH);

AVOptions options = new AVOptions();
Expand Down Expand Up @@ -132,7 +132,7 @@ public void onClick(View view) {
view.setEnabled(false);
switch (view.getId()) {
case R.id.play:
if ((mVideoTextureView != null) && (!mVideoTextureView.isPlaying())) {
if (!mVideoTextureView.isPlaying()) {
mVideoTextureView.start();
mExternalMediaRecorder.start();
}
Expand All @@ -151,7 +151,9 @@ public void onClick(View view) {

@Override
protected void onDestroy() {
mExternalMediaRecorder.stop();
if (mVideoTextureView != null && mVideoTextureView.isPlaying()) {
mExternalMediaRecorder.stop();
}
if (mVideoTextureView != null) {
mVideoTextureView.stopPlayback();
mVideoTextureView = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.ContextMenu;
import android.view.MenuItem;
Expand Down
Loading

0 comments on commit ae0c534

Please sign in to comment.