AudioDeviceInput 从物理设备,例如麦克风,产生音频流。它提供了一个单个 输出 端子,可以通过 Wires 连接到其他端子。AudioDeviceInput 有选择哪个 Player 产生串流的属性,以及是否静音的控件。
概要
属性
决定是否将提供给 SetUserIdAccessList 的用户 ID 列表视为允许列表或拒绝列表。
控制物理设备是否正在录制。
表示这个 AudioDeviceInput 是否准备好产生声音。
控制这个 AudioDeviceInput 是否静音。
确定谁的设备产生声音。
被输出音频串流乘以的音量级别。
方法
返回与指定的引置顶连接的 Wires 阵列。
返回一个列表,包含允许收听或阻止收听此 AudioDeviceInput 的用户 ID 列表。
设置一列用户 ID,可以听到或被阻止听到这 AudioDeviceInput 。
活动
当另一个实例通过 AudioDeviceInput 连接到或与 Wire 断开时发生火焰。
属性
AccessType
决定是否将提供给 SetUserIdAccessList 的用户 ID 列表视为允许列表或拒绝列表。
如果 AccessType 是 Enum.AccessModifierType.Allow , then 只有 供应的用户 ID 是 允许 听到这个 AudioDeviceInput .如果 是 ,那么 只有 供应的用户 ID 被 阻止听到这个 。
由于玩家声音是网络的,此属性应仅从服务器分配,以便正确复制。
Muted
控制这个 AudioDeviceInput 是否静音。与 Active 不同,该属性是公共可脚本的。
一般来说,一个 AudioDeviceInput 只能被听到,如果 Active 是真的 和 Muted 是错误的。
代码示例
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
方法
SetUserIdAccessList
设置一列用户 ID,可以听到或被阻止听到这 AudioDeviceInput ,取决于 AccessType 。
请注意,这个方法从服务器复制到客户端;一般来说,只能从服务器调用才能正确复制。
参数
返回
活动
WiringChanged
在 Wire 连接或断开后发生的事件,该 Wire 现在或之前已连接到 AudioDeviceInput 上的某个引脚或其他可连接的实例。