요약
메서드
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():()
반환
()
이벤트