# AudioDeviceInput

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Memory category: Internal
- HTML page: https://rapi.sleaze.dev/classes/AudioDeviceInput/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput

Produces audio streams from physical devices, such as microphones.

## Properties

### AccessList

```luau
AudioDeviceInput.AccessList: string = ""
```

- Tags: Hidden, Not scriptable, Roblox engine security, Read capabilities: Audio + Input

### AccessType

```luau
AudioDeviceInput.AccessType: Enum.AccessModifierType = Enum.AccessModifierType.Deny
```

- Tags: Read capabilities: Audio + Input

Determines whether the list of user IDs provided to [`SetUserIdAccessList`](https://rapi.sleaze.dev/classes/AudioDeviceInput.md) is treated as an allow-list or deny-list.

### Active

```luau
AudioDeviceInput.Active: boolean = false
```

- Tags: Write: Roblox script security, Read capabilities: Audio + Input

Controls whether the physical device is actively recording.

### IsReady

```luau
AudioDeviceInput.IsReady: boolean = false
```

- Tags: Read only, Roblox script security, Read capabilities: Audio + Input, Save only

Denotes whether this [`AudioDeviceInput`](https://rapi.sleaze.dev/classes/AudioDeviceInput.md) is ready to produce sound.

### Muted

```luau
AudioDeviceInput.Muted: boolean = false
```

- Tags: Read capabilities: Audio + Input

Controls whether this [`AudioDeviceInput`](https://rapi.sleaze.dev/classes/AudioDeviceInput.md) is muted.

### MutedByLocalUser

```luau
AudioDeviceInput.MutedByLocalUser: boolean = false
```

- Tags: Hidden, Not replicated, Roblox script security, Read capabilities: Audio + Input

### Player

```luau
AudioDeviceInput.Player: Player
```

- Tags: Read capabilities: Audio + Input + Players, Write capabilities: Audio + Players

Determines whose device is producing sound.

### DictationEnabled

```luau
AudioDeviceInput.DictationEnabled: boolean = false
```

- Tags: Hidden, Roblox script security, Read capabilities: Audio + Input

### EchoCancellation

```luau
AudioDeviceInput.EchoCancellation: boolean = true
```

- Tags: Hidden, Not replicated, Roblox script security, Read capabilities: Audio + Input

### GainControl

```luau
AudioDeviceInput.GainControl: boolean = true
```

- Tags: Hidden, Not replicated, Roblox script security, Read capabilities: Audio + Input

### NoiseSuppression

```luau
AudioDeviceInput.NoiseSuppression: boolean = true
```

- Tags: Hidden, Not replicated, Roblox script security, Read capabilities: Audio + Input

### Volume

```luau
AudioDeviceInput.Volume: number = 1
```

- Tags: Read capabilities: Audio + Input

Volume level which is multiplied onto the output audio stream.

## Methods

### GetConnectedWires

```luau
AudioDeviceInput:GetConnectedWires(pin: string): { Instance }
```

- Tags: Capabilities: Audio + Input

Returns an array of `Wires` that are connected to the specified pin.

Parameters:

- `pin`: An input or output pin on this instance

Returns: An array of `Wires`

### GetInputPins

```luau
AudioDeviceInput:GetInputPins(): { any }
```

- Tags: Capabilities: Audio + Input

Gets the list of pins that [`Wire`](https://rapi.sleaze.dev/classes/Wire.md) can use in [`Wire.TargetName`](https://rapi.sleaze.dev/classes/Wire.md) to connect to this instance via its [`Wire.TargetInstance`](https://rapi.sleaze.dev/classes/Wire.md) property.

Returns: An array of strings representing valid pin names.

### GetOutputPins

```luau
AudioDeviceInput:GetOutputPins(): { any }
```

- Tags: Capabilities: Audio + Input

Gets the list of pins that [`Wire`](https://rapi.sleaze.dev/classes/Wire.md) can use in [`Wire.SourceName`](https://rapi.sleaze.dev/classes/Wire.md) to connect to this instance via its [`Wire.SourceInstance`](https://rapi.sleaze.dev/classes/Wire.md) property.

Returns: An array of strings representing valid pin names.

### GetUserIdAccessList

```luau
AudioDeviceInput:GetUserIdAccessList(): { any }
```

- Tags: Capabilities: Audio + Input

Returns a list of user IDs that are either permitted to hear or blocked from hearing this [`AudioDeviceInput`](https://rapi.sleaze.dev/classes/AudioDeviceInput.md).

Returns: An array of user IDs that are either in the allow-list or the deny-list.

### SetUserIdAccessList

```luau
AudioDeviceInput:SetUserIdAccessList(userIds: { any })
```

- Tags: Capabilities: Audio + Input

Sets a list of user IDs that are either permitted to hear or blocked from hearing this [`AudioDeviceInput`](https://rapi.sleaze.dev/classes/AudioDeviceInput.md).

Parameters:

- `userIds`: An array of user IDs to apply to this [`AudioDeviceInput`](https://rapi.sleaze.dev/classes/AudioDeviceInput.md).

## Events

### WiringChanged

```luau
AudioDeviceInput.WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance)>
```

- Tags: Capabilities: Audio + Input

Fires when another instance is connected to or disconnected from the [`AudioDeviceInput`](https://rapi.sleaze.dev/classes/AudioDeviceInput.md) via a [`Wire`](https://rapi.sleaze.dev/classes/Wire.md).

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
