audio device button icons
This commit is contained in:
1 parent
ace8ed6ec7
commit
2fbd5820f2
14 files changed
+325
-5068
No files matched your search
@@ -1,7 +1,8 @@
|
||||
using Assets.WasapiAudio.Scripts.Core;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
[ExecuteInEditMode]
|
||||
[ExecuteAlways]
|
||||
public class AudioSource : MonoBehaviour {
|
||||
public WasapiCaptureType CaptureType = WasapiCaptureType.Loopback;
|
||||
public int SpectrumSize = 32;
|
||||
@@ -11,6 +12,8 @@ public class AudioSource : MonoBehaviour {
|
||||
public WasapiAudioFilter[] Filters;
|
||||
|
||||
public Preferences preferences;
|
||||
public Texture speakerTexture;
|
||||
public Texture micTexture;
|
||||
|
||||
private WasapiAudio _wasapiAudio;
|
||||
private float[] _spectrumData;
|
||||
@@ -20,16 +23,18 @@ public class AudioSource : MonoBehaviour {
|
||||
? WasapiCaptureType.Loopback
|
||||
: WasapiCaptureType.Microphone;
|
||||
|
||||
Debug.Log($"Pref: {preferences.data.useLoopback} {CaptureType}");
|
||||
// Debug.Log($"Pref: {preferences.data.useLoopback} {CaptureType}");
|
||||
|
||||
Initialise();
|
||||
}
|
||||
|
||||
void Initialise() {
|
||||
bool isLoopback = CaptureType == WasapiCaptureType.Loopback;
|
||||
SetImageTexture(isLoopback);
|
||||
|
||||
_wasapiAudio?.StopListen();
|
||||
|
||||
_wasapiAudio = new WasapiAudio(CaptureType, SpectrumSize, ScalingStrategy, MinFrequency, MaxFrequency, Filters, spectrumData =>
|
||||
{
|
||||
_wasapiAudio = new WasapiAudio(CaptureType, SpectrumSize, ScalingStrategy, MinFrequency, MaxFrequency, Filters, spectrumData => {
|
||||
_spectrumData = spectrumData;
|
||||
});
|
||||
|
||||
@@ -45,15 +50,26 @@ public class AudioSource : MonoBehaviour {
|
||||
}
|
||||
|
||||
public void ToggleCaptureType() {
|
||||
if (CaptureType == WasapiCaptureType.Loopback) {
|
||||
bool isLoopback = CaptureType == WasapiCaptureType.Loopback;
|
||||
if (isLoopback) {
|
||||
CaptureType = WasapiCaptureType.Microphone;
|
||||
preferences.SetUseLoopback(false);
|
||||
} else {
|
||||
CaptureType = WasapiCaptureType.Loopback;
|
||||
preferences.SetUseLoopback(true);
|
||||
}
|
||||
|
||||
Initialise();
|
||||
}
|
||||
|
||||
void SetImageTexture(bool useLoopback) {
|
||||
RawImage image = GetComponent<RawImage>();
|
||||
|
||||
if (!image) return;
|
||||
|
||||
image.texture = useLoopback
|
||||
? speakerTexture
|
||||
: micTexture;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user