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 @@ 修改音量 均衡器+ 音效 + 编码器列表 均衡器: 风格: 混响: