Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. private fun createNewVisualizerManager() {
  2. mVisualizerManager?.release()
  3. mVisualizerManager = NierVisualizerManager().apply {
  4. init(object : NierVisualizerManager.NVDataSource {
  5.  
  6. private val mBuffer: ByteArray = ByteArray(512)
  7. private val mAudioRecordByteBuffer by lazy { ByteArray(mAudioBufferSize / 2) }
  8. private val audioLength = (mAudioRecordByteBuffer.size * 1000F / SAMPLING_RATE).toInt()
  9.  
  10.  
  11. override fun getDataSamplingInterval() = 0L
  12.  
  13. override fun getDataLength() = mBuffer.size
  14.  
  15. override fun fetchFftData(): ByteArray? {
  16. return null
  17. }
  18.  
  19. override fun fetchWaveData(): ByteArray? {
  20. if (mAudioRecord.recordingState != AudioRecord.RECORDSTATE_RECORDING) {
  21. return null
  22. }
  23. mAudioRecordByteBuffer.fill(0)
  24. mAudioRecord.read(mAudioRecordByteBuffer, 0, mAudioRecordByteBuffer.size)
  25. var tempCounter = 0
  26. for (idx in 0 until mAudioRecordByteBuffer.size step (mAudioRecordByteBuffer.size / (audioLength + mBuffer.size))) {
  27. if (tempCounter >= mBuffer.size) {
  28. break
  29. }
  30. mBuffer[tempCounter++] = mAudioRecordByteBuffer[idx]
  31. }
  32.  
  33. return mBuffer
  34. }
  35.  
  36. })
  37. }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement