AudioDeviceInput
AudioDeviceInput produces audio streams from physical devices, such as microphones. It provides a single Output pin which can be connected to other pins via Wires. AudioDeviceInput has properties for selecting which Player is producing the stream, and controlling whether or not they are muted.
Summary
Properties
Determines whether the list of user IDs provided to SetUserIdAccessList is treated as an allow-list or deny-list.
Controls whether the physical device is actively recording.
Denotes whether this AudioDeviceInput is ready to produce sound.
Controls whether this AudioDeviceInput is muted.
Determines whose device is producing sound.
Volume level which is multiplied onto the output audio stream.
Methods
Returns an array of Wires that are connected to the specified pin.
Returns a list of user IDs that are either permitted to hear or blocked from hearing this AudioDeviceInput.
Sets a list of user IDs that are either permitted to hear or blocked from hearing this AudioDeviceInput.
Properties
AccessType
Determines whether the list of user IDs provided to SetUserIdAccessList is treated as an allow-list or deny-list.
If AccessType is Enum.AccessModifierType.Allow, then only the supplied user IDs are permitted to hear this AudioDeviceInput. If AccessType is Enum.AccessModifierType.Deny, then only the supplied user IDs are blocked from hearing this AudioDeviceInput.
Since player voices are networked, this property should only be assigned from the server in order to replicate properly.
Active
Controls whether the physical device is actively recording. This property is only set by Roblox core scripts, but it may be read by user scripts. Generally, an AudioDeviceInput may only be producing sound if Active is true and Muted is false.
IsReady
Denotes whether this AudioDeviceInput is ready to produce sound, meaning all network connections have been established.
Muted
Controls whether this AudioDeviceInput is muted. Unlike Active, this property is publicly scriptable.
Generally, an AudioDeviceInput may only be heard if Active is true and Muted is false.
Code Samples
local players = game:GetService("Players")
local userInput = game:GetService("UserInputService")
local audioIn : AudioDeviceInput = players.LocalPlayer:WaitForChild("AudioDeviceInput")
audioIn.Muted = true
local pushToTalkKey = Enum.KeyCode.V
userInput.InputBegan:Connect(function(input: InputObject)
if input.KeyCode == pushToTalkKey then
audioIn.Muted = false
end
end)
userInput.InputEnded:Connect(function(input: InputObject)
if input.KeyCode == pushToTalkKey then
audioIn.Muted = true
end
end)
MutedByLocalUser
Player
Determines whose device is producing sound. In order to replicate properly, this should only be assigned from the server. Assigning this property locally generally does not work, unless Player is Players.LocalPlayer.
Methods
GetConnectedWires
Returns an array of Wires that are connected to the specified pin. AudioDeviceInput has one "Output" pin.
Parameters
Returns
GetUserIdAccessList
Returns a list of user IDs that are either permitted to hear or blocked from hearing this AudioDeviceInput, depending on the AccessType.
Returns
SetUserIdAccessList
Sets a list of user IDs that are either permitted to hear or blocked from hearing this AudioDeviceInput, depending on the AccessType.
Note that this method replicates from server to client; in general, it should only be called from the server in order to replicate properly.