From 560dd4f9643247c95cc95b23cc613da92fada4e0 Mon Sep 17 00:00:00 2001
From: Lonely dreamers <1240413544@qq.com>
Date: Tue, 26 Apr 2022 23:52:08 +0800
Subject: [PATCH] Feature: get EncoderList
---
app/src/main/AndroidManifest.xml | 8 ++-
.../ffmpeg/activity/EncoderListActivity.kt | 62 +++++++++++++++++++
.../com/frank/ffmpeg/activity/MainActivity.kt | 3 +
.../main/res/layout/activity_encoder_list.xml | 10 +++
app/src/main/res/values-en/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
6 files changed, 83 insertions(+), 2 deletions(-)
create mode 100644 app/src/main/java/com/frank/ffmpeg/activity/EncoderListActivity.kt
create mode 100644 app/src/main/res/layout/activity_encoder_list.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cc94e53..d1da07a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,11 +11,15 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:name">
+
-
@@ -41,12 +45,12 @@
+
-
diff --git a/app/src/main/java/com/frank/ffmpeg/activity/EncoderListActivity.kt b/app/src/main/java/com/frank/ffmpeg/activity/EncoderListActivity.kt
new file mode 100644
index 0000000..6007e47
--- /dev/null
+++ b/app/src/main/java/com/frank/ffmpeg/activity/EncoderListActivity.kt
@@ -0,0 +1,62 @@
+package com.frank.ffmpeg.activity
+
+import android.media.MediaCodecList
+import android.os.Build
+import android.os.Bundle
+import android.util.Log
+import androidx.appcompat.app.AppCompatActivity
+import com.frank.ffmpeg.R
+
+
+class EncoderListActivity : AppCompatActivity() {
+
+ val TAG = "EncoderListActivity"
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_encoder_list)
+ getEncodeList()
+ }
+
+ private fun getEncodeList(){
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ val list = MediaCodecList(MediaCodecList.REGULAR_CODECS)
+ val supportCodes = list.codecInfos
+ Log.i(TAG, "解码器列表:")
+ for (codec in supportCodes) {
+ if (!codec.isEncoder) {
+ val name = codec.name
+ if (name.startsWith("OMX.google")) {
+ Log.i(TAG, "软解->$name")
+ }
+ }
+ }
+ for (codec in supportCodes) {
+ if (!codec.isEncoder) {
+ val name = codec.name
+ if (!name.startsWith("OMX.google")) {
+ Log.i(TAG, "硬解->$name")
+ }
+ }
+ }
+ Log.i(TAG, "编码器列表:")
+ for (codec in supportCodes) {
+ if (codec.isEncoder) {
+ val name = codec.name
+ if (name.startsWith("OMX.google")) {
+ Log.i(TAG, "软编->$name")
+ }
+ }
+ }
+ for (codec in supportCodes) {
+ if (codec.isEncoder) {
+ val name = codec.name
+ if (!name.startsWith("OMX.google")) {
+ Log.i(TAG, "硬编->$name")
+ }
+ }
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/frank/ffmpeg/activity/MainActivity.kt b/app/src/main/java/com/frank/ffmpeg/activity/MainActivity.kt
index b93e076..06d661f 100644
--- a/app/src/main/java/com/frank/ffmpeg/activity/MainActivity.kt
+++ b/app/src/main/java/com/frank/ffmpeg/activity/MainActivity.kt
@@ -36,6 +36,7 @@ class MainActivity : BaseActivity() {
getString(R.string.video_preview),
getString(R.string.media_probe),
getString(R.string.audio_effect),
+ getString(R.string.encoder_list),
getString(R.string.compose)
)
@@ -74,6 +75,8 @@ class MainActivity : BaseActivity() {
8 //audio effect
-> intent.setClass(this@MainActivity, AudioEffectActivity::class.java)
9
+ -> intent.setClass(this@MainActivity, EncoderListActivity::class.java)
+ 10
-> intent.setClass(this@MainActivity, ComposeActivity::class.java)
else -> {
}
diff --git a/app/src/main/res/layout/activity_encoder_list.xml b/app/src/main/res/layout/activity_encoder_list.xml
new file mode 100644
index 0000000..0db982d
--- /dev/null
+++ b/app/src/main/res/layout/activity_encoder_list.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 3bb7965..4177bf8 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -17,6 +17,7 @@
Audio volume
Add equalizer
Audio effect
+ Encoder list
Audio equalizer:
Audio style:
Audio reverb:
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 18deaa0..f081701 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -17,6 +17,7 @@
修改音量
均衡器+
音效
+ 编码器列表
均衡器:
风格:
混响: