diff --git a/QNDroidRTCDemo/app/build.gradle b/QNDroidRTCDemo/app/build.gradle index 38c1c04..380b49a 100644 --- a/QNDroidRTCDemo/app/build.gradle +++ b/QNDroidRTCDemo/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "com.qiniu.droid.rtc.demo" minSdkVersion 18 targetSdkVersion 28 - versionCode 30 - versionName "3.0.1" + versionCode 31 + versionName "3.0.2" buildConfigField "long", "BUILD_TIMESTAMP", System.currentTimeMillis() + "L" } diff --git a/QNDroidRTCDemo/app/libs/qndroid-rtc-3.0.1.jar b/QNDroidRTCDemo/app/libs/qndroid-rtc-3.0.2.jar similarity index 58% rename from QNDroidRTCDemo/app/libs/qndroid-rtc-3.0.1.jar rename to QNDroidRTCDemo/app/libs/qndroid-rtc-3.0.2.jar index e93f295..fecba5a 100644 Binary files a/QNDroidRTCDemo/app/libs/qndroid-rtc-3.0.1.jar and b/QNDroidRTCDemo/app/libs/qndroid-rtc-3.0.2.jar differ diff --git a/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/activity/RoomActivity.java b/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/activity/RoomActivity.java index 315802a..1e22e78 100644 --- a/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/activity/RoomActivity.java +++ b/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/activity/RoomActivity.java @@ -62,6 +62,7 @@ import com.qiniu.droid.rtc.model.QNMergeJob; import com.qiniu.droid.rtc.model.QNMergeTrackOption; +import org.webrtc.Size; import org.webrtc.VideoFrame; import java.util.concurrent.Semaphore; @@ -342,7 +343,7 @@ private void initQNRTCEngine() { mCaptureMode = preferences.getInt(Config.CAPTURE_MODE, Config.CAMERA_CAPTURE); // 1. VideoPreviewFormat 和 VideoEncodeFormat 建议保持一致 - // 2. 如果远端连麦出现回声的现象,可以通过配置 setLowAudioSampleRateEnabled(true) 或者 setAEC3Enabled(true) 后再做进一步测试,并将设备信息反馈给七牛技术支持 + // 2. 如果远端连麦出现回声的现象,可以通过配置 setLowAudioSampleRateEnabled(true) 和 setAEC3Enabled(true) 后再做进一步测试,并将设备信息反馈给七牛技术支持 QNVideoFormat format = new QNVideoFormat(videoWidth, videoHeight, fps); QNRTCSetting setting = new QNRTCSetting(); setting.setCameraID(QNRTCSetting.CAMERA_FACING_ID.FRONT) @@ -355,6 +356,30 @@ private void initQNRTCEngine() { .setVideoPreviewFormat(format); mEngine = QNRTCEngine.createEngine(getApplicationContext(), setting, this); mEngine.setCaptureVideoCallBack(new QNCaptureVideoCallback() { + + @Override + public int[] onCaptureOpened(List sizes, List fpsAscending) { + // 根据设备能力选择匹配的采集参数 + int wantSize = -1; // 选择的分辨率下标, -1 表示不做选择, 使用 QNRTCSetting 的设置 + int wantFps = -1; // 选择的帧率下标, -1 表示不做选择, 使用 QNRTCSetting 的设置 + /** + * 以下代码仅示例: + * 当硬件可用分辨率和当前设置宽高一致时,直接选择该分辨率;当没有完全一致的宽高时,选择使用高度匹配的一个分辨率; + * 您也可以根据自己业务需要,选择宽高最接近的一个分辨率或其他匹配方式。 + * + * 如果没有需要,也可以返回 -1 由 SDK 根据设置来匹配接近的分辨率。 + */ + for (int i = 0; i < sizes.size(); i++) { + if (sizes.get(i).height == videoHeight) { + wantSize = i; + if (sizes.get(i).width == videoWidth) { + break; + } + } + } + return new int[] {wantSize, wantFps}; + } + @Override public void onCaptureStarted() { diff --git a/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/utils/Config.java b/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/utils/Config.java index 0a65516..f8e1e5d 100644 --- a/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/utils/Config.java +++ b/QNDroidRTCDemo/app/src/main/java/com/qiniu/droid/rtc/demo/utils/Config.java @@ -37,7 +37,7 @@ public class Config { * * 首先,建议您根据实际产品情况选择分辨率,在不超过视频源分辨率的情况下更高的分辨率对应着更好的质量, * 在具体数值上,建议您根据下表或者常见的视频分辨率来做设置; - * 然后,可以根据您的实际情况来选择帧率,帧率越高更能表现运动画面效果;通常设置为25或者30即可; + * 然后,可以根据您的实际情况来选择帧率,帧率越高更能表现运动画面效果;通常设置为 25 或者 30 即可; * 最后,选择合适的码率设置,如果实际场景中有运动情况较多,可以参考下表中选择上限值。 * * 如果您需要的分辨率或者帧率不在下表中,可以按比例来推算出一个合适的码率值,如: diff --git a/ReleaseNotes/release-notes-3.0.2.md b/ReleaseNotes/release-notes-3.0.2.md new file mode 100644 index 0000000..74e189f --- /dev/null +++ b/ReleaseNotes/release-notes-3.0.2.md @@ -0,0 +1,36 @@ +# QNDroidRTC Release Notes for 3.0.2 + +## 简介 + +QNDroidRTC 是七牛推出的一款适用于 Android 平台的音视频通话 SDK,提供了包括美颜、滤镜、音视频通话等多种功能,提供灵活的接口,支持高度定制以及二次开发。 + +## 版本 + +- 发布 qndroid-rtc-3.0.2.jar + +## 功能 + +- 支持根据 camera 能力设置采集分辨率 +- 支持合流设置 SEI +- 支持合流设置保留最后一帧 + +## 缺陷 + +- 修复混音时重复多次后失败 +- 修复音频码率设置不生效 +- 修复外部导入特殊配置时崩溃 + +## 注意事项 +- 如果您使用的版本是 2.5.0+,那么为了给您提供更好的使用体验,请务必依赖如下 dns 解析库: + +```java +dependencies { + implementation 'com.qiniu:happy-dns:0.2.17' +} +``` + +- 从 3.0.2 版本开始,SDK 不再提供 v1 接口 + +## 问题反馈 + +当你遇到任何问题时,可以通过在 GitHub 的 repo 提交 `issues` 来反馈问题,请尽可能的描述清楚遇到的问题,如果有错误信息也一同附带,并且在 ```Labels``` 中指明类型为 bug 或者其他。 [通过这里查看已有的 issues 和提交 bug](https://github.com/pili-engineering/QNRTC-Android/issues) diff --git a/releases/arm64-v8a/libqndroid_rtc.so b/releases/arm64-v8a/libqndroid_rtc.so index d4696dc..67d4ca4 100755 Binary files a/releases/arm64-v8a/libqndroid_rtc.so and b/releases/arm64-v8a/libqndroid_rtc.so differ diff --git a/releases/armeabi-v7a/libqndroid_rtc.so b/releases/armeabi-v7a/libqndroid_rtc.so index 7ddb0b9..cec6eb5 100755 Binary files a/releases/armeabi-v7a/libqndroid_rtc.so and b/releases/armeabi-v7a/libqndroid_rtc.so differ diff --git a/releases/armeabi/libqndroid_rtc.so b/releases/armeabi/libqndroid_rtc.so index 2d520f2..cd57e7d 100755 Binary files a/releases/armeabi/libqndroid_rtc.so and b/releases/armeabi/libqndroid_rtc.so differ diff --git a/releases/qndroid-rtc-3.0.1.jar b/releases/qndroid-rtc-3.0.2.jar similarity index 58% rename from releases/qndroid-rtc-3.0.1.jar rename to releases/qndroid-rtc-3.0.2.jar index e93f295..fecba5a 100644 Binary files a/releases/qndroid-rtc-3.0.1.jar and b/releases/qndroid-rtc-3.0.2.jar differ diff --git a/releases/x86/libqndroid_rtc.so b/releases/x86/libqndroid_rtc.so index 7aa86d7..a2d4e39 100755 Binary files a/releases/x86/libqndroid_rtc.so and b/releases/x86/libqndroid_rtc.so differ