|
@@ -0,0 +1,43 @@
|
|
|
+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)
|