AudioRecorder

Show Deprecated
Not Browsable

Code Samples

Audio Recorder

local Workspace = game:GetService("Workspace")
local audioRecorder = Instance.new("AudioRecorder")
audioRecorder.Parent = Workspace
local audioPlayer = Instance.new("AudioPlayer")
audioPlayer.Asset = "rbxassetid://1839825437"
audioPlayer.Volume = 0.8
audioPlayer.Parent = Workspace
-- Wire AudioPlayer into the AudioRecorder
local wire1 = Instance.new("Wire")
wire1.SourceInstance = audioPlayer
wire1.TargetInstance = audioRecorder
wire1.Parent = audioRecorder
-- There is no exact way to determine when audio buffer enters in to trigger the recording properly
-- Recording will have pre-head empty silence compared to the original asset
audioPlayer:Play()
audioRecorder:RecordAsync() -- Start recording the AudioPlayer
print("Recording...")
task.wait(5)
audioRecorder:Stop() -- Stop recording
print("Stopped recording!")
audioPlayer:Stop()
audioPlayer.TimePosition = 0
-- Create output to listen the results
local audioOutput = Instance.new("AudioDeviceOutput")
audioOutput.Parent = Workspace
local wire2 = Instance.new("Wire")
wire2.SourceInstance = audioPlayer
wire2.TargetInstance = audioOutput
wire2.Parent = audioOutput
-- Get the recorded content and play it in the AudioPlayer
local resultUri = audioRecorder:GetTemporaryContent().Uri
audioPlayer.Asset = resultUri
if not (audioPlayer.IsReady) then
audioPlayer:GetPropertyChangedSignal("IsReady"):Wait()
end
audioPlayer:Play()

Properties

IsRecording

Roblox Security
Read Parallel

TimeLength

Read Only
Not Replicated
Read Parallel

Methods

Clear

()

Returns

()

GetConnectedWires

Instances

Parameters

pin: string
Default Value: ""

Returns

Instances

GetInputPins


Returns

GetOutputPins


Returns

GetTemporaryContent


Returns

Stop

()

Returns

()

CanRecordAsync

Yields

Returns

GetUnrecordableInstancesAsync

Instances
Yields

Returns

Instances

RecordAsync

()
Yields

Returns

()

Events

WiringChanged

Parameters

connected: boolean
pin: string
wire: Wire
instance: Instance