AudioEffectActivity inherit BaseActivity

pull/209/head
xufuji456 3 years ago
parent 3e9c15e364
commit 9e4a9359d6
  1. 50
      app/src/main/java/com/frank/ffmpeg/activity/AudioEffectActivity.kt
  2. 3
      app/src/main/res/layout/activity_audio_effect.xml

@ -4,7 +4,6 @@ import android.Manifest
import android.media.MediaPlayer import android.media.MediaPlayer
import android.media.audiofx.* import android.media.audiofx.*
import android.os.Build import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.os.Environment import android.os.Environment
import android.util.Log import android.util.Log
@ -18,6 +17,7 @@ import com.frank.ffmpeg.R
import com.frank.ffmpeg.adapter.EqualizerAdapter import com.frank.ffmpeg.adapter.EqualizerAdapter
import com.frank.ffmpeg.format.AudioVisualizer import com.frank.ffmpeg.format.AudioVisualizer
import com.frank.ffmpeg.listener.OnSeeBarListener import com.frank.ffmpeg.listener.OnSeeBarListener
import com.frank.ffmpeg.util.FileUtil
import com.frank.ffmpeg.view.VisualizerView import com.frank.ffmpeg.view.VisualizerView
import java.io.IOException import java.io.IOException
import java.util.ArrayList import java.util.ArrayList
@ -26,12 +26,12 @@ import java.util.ArrayList
* Audio effect: equalizer, enhancer, visualizer * Audio effect: equalizer, enhancer, visualizer
* Created by frank on 2020/10/20. * Created by frank on 2020/10/20.
*/ */
class AudioEffectActivity : AppCompatActivity(), OnSeeBarListener { class AudioEffectActivity : BaseActivity(), OnSeeBarListener {
companion object { companion object {
private val TAG = AudioEffectActivity::class.java.simpleName private val TAG = AudioEffectActivity::class.java.simpleName
private val AUDIO_PATH = Environment.getExternalStorageDirectory().path + "/know_play.mp3" private val audioPath = Environment.getExternalStorageDirectory().path + "/change.mp3"
} }
private var mPlayer: MediaPlayer? = null private var mPlayer: MediaPlayer? = null
@ -63,8 +63,6 @@ class AudioEffectActivity : AppCompatActivity(), OnSeeBarListener {
private val onPreparedListener = MediaPlayer.OnPreparedListener { private val onPreparedListener = MediaPlayer.OnPreparedListener {
setupEqualizer() setupEqualizer()
setupPresetStyle() setupPresetStyle()
// some mobiles throws error here
// setupReverberation()
setupBassBoost() setupBassBoost()
setLoudnessEnhancer() setLoudnessEnhancer()
setupVisualizer() setupVisualizer()
@ -72,11 +70,13 @@ class AudioEffectActivity : AppCompatActivity(), OnSeeBarListener {
mPlayer!!.start() mPlayer!!.start()
} }
override val layoutId: Int
get() = R.layout.activity_audio_effect
public override fun onCreate(savedInstanceState: Bundle?) { public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
checkPermission() checkPermission()
setContentView(R.layout.activity_audio_effect)
initView() initView()
initPlayer() initPlayer()
} }
@ -102,13 +102,17 @@ class AudioEffectActivity : AppCompatActivity(), OnSeeBarListener {
} }
private fun initPlayer() { private fun initPlayer() {
if (!FileUtil.checkFileExist(audioPath)) {
visualizerView?.postDelayed(Runnable { showSelectFile() }, 500)
return
}
try { try {
mPlayer = MediaPlayer() mPlayer = MediaPlayer()
mPlayer!!.setDataSource(AUDIO_PATH) mPlayer!!.setDataSource(audioPath)
mPlayer!!.setOnPreparedListener(onPreparedListener) mPlayer!!.setOnPreparedListener(onPreparedListener)
mPlayer!!.prepareAsync() mPlayer!!.prepareAsync()
} catch (e: IOException) { } catch (e: IOException) {
e.printStackTrace() Log.e("AudioEffect", "play error=$e")
} }
} }
@ -159,26 +163,7 @@ class AudioEffectActivity : AppCompatActivity(), OnSeeBarListener {
} }
} }
override fun onNothingSelected(arg0: AdapterView<*>) {}
}
}
private fun setupReverberation() {
mPresetReverb = PresetReverb(0, mPlayer!!.audioSessionId)
mPresetReverb!!.enabled = enableEqualizer
mPlayer!!.attachAuxEffect(mPresetReverb!!.id)
//sendLevel:0-1
mPlayer!!.setAuxEffectSendLevel(1.0f)
spinnerReverb!!.adapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, presetReverb)
spinnerReverb!!.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(arg0: AdapterView<*>, arg1: View, arg2: Int, arg3: Long) {
try {
mPresetReverb!!.preset = arg2.toShort()
} catch (e: Exception) {
Log.e(TAG, "preset reverberation error=$e")
}
}
override fun onNothingSelected(arg0: AdapterView<*>) {} override fun onNothingSelected(arg0: AdapterView<*>) {}
} }
} }
@ -223,10 +208,9 @@ class AudioEffectActivity : AppCompatActivity(), OnSeeBarListener {
}) })
} }
private fun setupVisualizer() { private fun setupVisualizer() {
mVisualizer = AudioVisualizer() mVisualizer = AudioVisualizer()
mVisualizer?.initVisualizer(mPlayer!!.audioSessionId, false, true, object: Visualizer.OnDataCaptureListener{ mVisualizer?.initVisualizer(mPlayer!!.audioSessionId, false, true, object : Visualizer.OnDataCaptureListener {
override fun onFftDataCapture(visualizer: Visualizer?, fft: ByteArray?, samplingRate: Int) { override fun onFftDataCapture(visualizer: Visualizer?, fft: ByteArray?, samplingRate: Int) {
if (visualizerView != null && fft != null) { if (visualizerView != null && fft != null) {
visualizerView!!.post { visualizerView!!.setWaveData(fft) } visualizerView!!.post { visualizerView!!.setWaveData(fft) }
@ -238,6 +222,14 @@ class AudioEffectActivity : AppCompatActivity(), OnSeeBarListener {
}) })
} }
override fun onViewClick(view: View) {
}
override fun onSelectedFile(filePath: String) {
}
private fun releaseVisualizer() { private fun releaseVisualizer() {
mVisualizer?.releaseVisualizer() mVisualizer?.releaseVisualizer()
} }

@ -36,7 +36,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:text="@string/audio_reverb"/> android:text="@string/audio_reverb"
android:visibility="gone"/>
<Spinner <Spinner
android:id="@+id/spinner_reverb" android:id="@+id/spinner_reverb"

Loading…
Cancel
Save