108 lines
2.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|