ZoeAppClass/Assets/Scripts/Conversation/CheckVolumeChanges.cs

108 lines
2.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CheckVolumeChanges : MonoBehaviour
{
public float testSound;
public static float MicLoudness;
private string _device;
private AudioClip _clipRecord;
private int _sampleWindow = 128;
private bool _isInitialized;
private float levelmic;
private void Awake()
{
StartCoroutine(checklevel());
}
void InitMic()
{
if (_device == null)
{
// _device = Microphone.devices[0];
// _clipRecord = Microphone.Start(_device, true, 999, 44100);
// Debug.Log(_clipRecord);
}
}
void StopMicrophone()
{
// Microphone.End(_device);
}
float LevelMax()
{
float levelMax = 0;
float[] waveData = new float[_sampleWindow];
//int micPosition = Microphone.GetPosition(null) - (_sampleWindow + 1);
// if (micPosition < 0)
// {
// return 0;
// }
// _clipRecord.GetData(waveData, micPosition);
// for (int i = 0; i < _sampleWindow; ++i)
// {
// float wavePeak = waveData[i] * waveData[i];
// if (levelMax < wavePeak)
// {
// levelMax = wavePeak;
// }
// }
return levelMax;
}
void Update()
{
// MicLoudness = LevelMax();
// testSound = MicLoudness;
// levelmic += testSound;
}
IEnumerator checklevel() {
while (true)
{
yield return new WaitForSecondsRealtime(0.5f);
levelmic = 0;
}
}
void OnEnable()
{
// InitMic();
// _isInitialized = true;
}
void OnDisable()
{
// StopMicrophone();
}
void OnDestory()
{
// StopMicrophone();
}
void OnApplicationFocus(bool focus)
{
if (focus)
{
if (!_isInitialized)
{
// InitMic();
// _isInitialized = true;
}
}
if (!focus)
{
// StopMicrophone();
// _isInitialized = false;
}
}
}