概要
方法
Clear():() |
GetConnectedWires(pin: string):{Wire} |
RecordAsync():() |
Stop():() |
活動
WiringChanged(connected: boolean,pin: string,wire: Wire,instance: Instance):RBXScriptSignal |
範例程式碼
音訊錄製器
local Workspace = game:GetService("Workspace")
local audioRecorder = Instance.new("AudioRecorder")
audioRecorder.Parent = Workspace
local audioPlayer = Instance.new("AudioPlayer")
audioPlayer.Asset = "rbxassetid://5829815715"
audioPlayer.Volume = 0.8
audioPlayer.Parent = Workspace
-- 將 AudioPlayer 連接到 AudioRecorder
local wire1 = Instance.new("Wire")
wire1.SourceInstance = audioPlayer
wire1.TargetInstance = audioRecorder
wire1.Parent = audioRecorder
-- 沒有確定的方式來判斷何時音頻緩衝區進入以正確觸發錄音
-- 錄音將與原始資產相比,有前置空白靜音
audioPlayer:Play()
audioRecorder:RecordAsync() -- 開始錄音 AudioPlayer
print("錄音中...")
task.wait(5)
audioRecorder:Stop() -- 停止錄音
print("錄音已停止!")
audioPlayer:Stop()
audioPlayer.TimePosition = 0
-- 創建輸出以收聽結果
local audioOutput = Instance.new("AudioDeviceOutput")
audioOutput.Parent = Workspace
local wire2 = Instance.new("Wire")
wire2.SourceInstance = audioPlayer
wire2.TargetInstance = audioOutput
wire2.Parent = audioOutput
-- 獲取錄製的內容並在 AudioPlayer 中播放
local resultUri = audioRecorder:GetTemporaryContent().Uri
audioPlayer.Asset = resultUri
if not audioPlayer.IsReady then
audioPlayer:GetPropertyChangedSignal("IsReady"):Wait()
end
audioPlayer:Play()API 參考
屬性
方法
Clear
AudioRecorder:Clear():()
返回
()
RecordAsync
AudioRecorder:RecordAsync():()
返回
()
Stop
AudioRecorder:Stop():()
返回
()
活動