update filter parameters of equalizer

dev
xufuji456 4 years ago
parent 1255b906a8
commit 92040ff073
  1. 30
      app/src/main/java/com/frank/ffmpeg/activity/EqualizerActivity.kt

@ -2,6 +2,7 @@ package com.frank.ffmpeg.activity
import android.os.Bundle
import android.os.Environment
import android.util.Log
import android.util.Pair
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
@ -10,6 +11,7 @@ import com.frank.ffmpeg.AudioPlayer
import com.frank.ffmpeg.R
import com.frank.ffmpeg.adapter.EqualizerAdapter
import com.frank.ffmpeg.listener.OnSeeBarListener
import java.lang.StringBuilder
import java.util.ArrayList
class EqualizerActivity : BaseActivity(), OnSeeBarListener {
@ -22,10 +24,12 @@ class EqualizerActivity : BaseActivity(), OnSeeBarListener {
| 10b | 11b | 12b | 13b | 14b | 15b | 16b | 17b | 18b |
| 1480 | 2093 | 2960 | 4186 | 5920 | 8372 | 11840 | 16744 | 20000 |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
private val bandsList = arrayListOf(
private val bandsList = intArrayOf(
65, 92, 131, 185, 262, 370,
523, 740, 1047, 1480, 2093, 2960,
4180, 5920, 8372, 11840, 16744, 20000)
private val selectBandList = IntArray(bandsList.size)
private val minEQLevel = 0
private var filterThread: Thread? = null
private var mAudioPlayer: AudioPlayer? = null
@ -55,8 +59,8 @@ class EqualizerActivity : BaseActivity(), OnSeeBarListener {
private fun setupEqualizer() {
val equalizerList = ArrayList<Pair<*, *>>()
val maxEQLevel = 20
for (i in 0 until bandsList.size) {
val centerFreq = bandsList[i].toString() + " Hz"
for (element in bandsList) {
val centerFreq = "$element Hz"
val pair = Pair.create(centerFreq, 0)
equalizerList.add(pair)
}
@ -72,13 +76,6 @@ class EqualizerActivity : BaseActivity(), OnSeeBarListener {
}
private fun doEqualize(index: Int, progress: Int) {
// val bandList = arrayListOf<String>()
// bandList.add("6b=5")
// bandList.add("8b=4")
// bandList.add("10b=3")
// bandList.add("12b=2")
// bandList.add("14b=1")
// bandList.add("16b=0")
if (filterThread == null) {
val filter = "superequalizer=6b=4:8b=5:10b=5"
filterThread = Thread(Runnable {
@ -86,7 +83,18 @@ class EqualizerActivity : BaseActivity(), OnSeeBarListener {
})
filterThread!!.start()
} else {
mAudioPlayer!!.again("superequalizer=8b=4:10b=5:12b=5")
if (index < 0 || index >= selectBandList.size) return
selectBandList[index] = progress
val builder = StringBuilder()
builder.append("superequalizer=")
for (i in selectBandList.indices) {
if (selectBandList[i] > 0) {
builder.append(i + 1).append("b=").append(selectBandList[i]).append(":")
}
}
builder.deleteCharAt(builder.length - 1)
Log.e("Equalizer", "update filter=$builder")
mAudioPlayer!!.again(builder.toString())
}
}

Loading…
Cancel
Save