GodotVoIP/ui/main_scene/scripts/Microphone.gd
2024-02-05 00:20:17 +00:00

25 lines
589 B
GDScript

extends AudioStreamPlayer
var effect: AudioEffectCapture
var playback: AudioStreamGeneratorPlayback
@onready var voip: AudioStreamPlayer = $"../VoIP"
func _ready():
var idx = AudioServer.get_bus_index("Mic")
effect = AudioServer.get_bus_effect(idx, 0)
playback = voip.get_stream_playback()
func _process(_delta):
var frames: PackedVector2Array
if effect.can_get_buffer(1024):
frames = effect.get_buffer(1024)
playback_voip.rpc(frames)
@rpc("any_peer", "call_remote", "unreliable_ordered", 1)
func playback_voip(frames: PackedVector2Array):
playback.push_buffer(frames)