mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2026-01-04 23:10:08 +01:00
44 lines
1.0 KiB
GDScript
44 lines
1.0 KiB
GDScript
extends Node2D
|
|
|
|
var effect
|
|
var recording
|
|
|
|
func _ready():
|
|
var idx = AudioServer.get_bus_index("Record")
|
|
effect = AudioServer.get_bus_effect(idx, 0)
|
|
|
|
func _on_RecordButton_pressed():
|
|
if (effect.is_recording_active()):
|
|
recording = effect.get_recording()
|
|
$PlayButton.disabled = false
|
|
$SaveButton.disabled = false
|
|
effect.set_recording_active(false)
|
|
$RecordButton.text = "Record"
|
|
else:
|
|
$PlayButton.disabled = true
|
|
$SaveButton.disabled = true
|
|
effect.set_recording_active(true)
|
|
$RecordButton.text = "Stop"
|
|
|
|
func _on_PlayButton_pressed():
|
|
print(recording)
|
|
print(recording.format)
|
|
print(recording.mix_rate)
|
|
print(recording.stereo)
|
|
var data = recording.get_data()
|
|
print(data)
|
|
print(data.size())
|
|
$AudioStreamPlayer.stream = recording
|
|
$AudioStreamPlayer.play()
|
|
|
|
func _on_Play_Music_pressed():
|
|
if ($AudioStreamPlayer2.playing):
|
|
$AudioStreamPlayer2.stop()
|
|
$PlayMusic.text = "Play Music"
|
|
else:
|
|
$AudioStreamPlayer2.play()
|
|
$PlayMusic.text = "Stop Music"
|
|
|
|
func _on_SaveButton_pressed():
|
|
recording.save_to_wav($SaveButton/Filename.text)
|