Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private fun createNewVisualizerManager() {
- mVisualizerManager?.release()
- mVisualizerManager = NierVisualizerManager().apply {
- init(object : NierVisualizerManager.NVDataSource {
- private val mBuffer: ByteArray = ByteArray(512)
- private val mAudioRecordByteBuffer by lazy { ByteArray(mAudioBufferSize / 2) }
- private val audioLength = (mAudioRecordByteBuffer.size * 1000F / SAMPLING_RATE).toInt()
- override fun getDataSamplingInterval() = 0L
- override fun getDataLength() = mBuffer.size
- override fun fetchFftData(): ByteArray? {
- return null
- }
- override fun fetchWaveData(): ByteArray? {
- if (mAudioRecord.recordingState != AudioRecord.RECORDSTATE_RECORDING) {
- return null
- }
- mAudioRecordByteBuffer.fill(0)
- mAudioRecord.read(mAudioRecordByteBuffer, 0, mAudioRecordByteBuffer.size)
- var tempCounter = 0
- for (idx in 0 until mAudioRecordByteBuffer.size step (mAudioRecordByteBuffer.size / (audioLength + mBuffer.size))) {
- if (tempCounter >= mBuffer.size) {
- break
- }
- mBuffer[tempCounter++] = mAudioRecordByteBuffer[idx]
- }
- return mBuffer
- }
- })
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement