AudioTextToSpeech 用于将文本播放为语音音频。它提供一个 输出 插口,可以通过 Wires 连接到其他插口。
Roblox 使用以下公式根据你的体验中的玩家数量限制此 API 的请求: 每个体验每秒最大请求 = 1 + (0.05 * 每千名并发用户)
要获取更详细的信息,请参见 文本转语音。
代码示例
local audioTextToSpeech: AudioTextToSpeech = Instance.new("AudioTextToSpeech")
audioTextToSpeech.Parent = workspace
audioTextToSpeech.Text = "你好!将文本转换为语音很有趣!"
audioTextToSpeech.VoiceId = "1"
local deviceOutput = Instance.new("AudioDeviceOutput")
deviceOutput.Parent = workspace
local wire = Instance.new("Wire")
wire.Parent = workspace
wire.SourceInstance = audioTextToSpeech
wire.TargetInstance = deviceOutput
local count = 0
local connection = nil
connection = audioTextToSpeech.Ended:Connect(function()
audioTextToSpeech.Text = "我可以数到 " .. count .. " 因为我非常聪明"
audioTextToSpeech.VoiceId = "2"
audioTextToSpeech.TimePosition = 0
audioTextToSpeech:Play()
count += 1
if count > 10 then
connection:Disconnect()
end
end)
audioTextToSpeech:Play()
概要
属性
表示 AudioTextToSpeech 对象是否已加载、缓冲并准备播放。
表示 AudioTextToSpeech 对象是否正在播放。
控制 AudioTextToSpeech 对象是否循环。
控制生成的语音音频的音高,与其速度无关。
控制语音音频的播放速度,这会影响其音高。
控制生成的语音音频的速度,这与其音高无关。
要被 AudioTextToSpeech 转换为语音音频的文本。
表示生成的语音音频的长度。
跟踪生成的语音音频中播放头的当前位置。
要被 AudioTextToSpeech 使用的声音风格。
控制生成的语音音频的播放音量。
方法
返回连接到指定插口的 Wires 数组。
生成语音音频。
暂停 AudioTextToSpeech 对象,无论其 TimePosition 位于何处。
从 AudioTextToSpeech 的当前 TimePosition 播放。
卸载生成的语音音频。
活动
当 AudioTextToSpeech 对象完成播放并暂停时触发。
当 AudioTextToSpeech 对象循环时触发。
当另一个实例通过 Wire 连接或断开连接到 AudioTextToSpeech 时触发。
属性
IsLoaded
表示 AudioTextToSpeech 对象是否已加载、缓冲并准备播放。尽管不常见,但 AudioTextToSpeech 对象可能会因为极端内存压力而在运行时卸载其资产,在这种情况下,IsLoaded 将变为 false。
IsPlaying
表示 AudioTextToSpeech 对象是否正在播放。 该属性是只读的,但会复制。要在运行时播放和停止 AudioTextToSpeech 对象,请使用 Play() 和 Pause() 方法。
方法
LoadAsync
一个阻塞调用,根据当前参数开始生成语音音频。它将等待,直到语音生成完成或失败。状态通过 AssetFetchStatus 值返回。
返回
Unload
通过卸载生成的语音音频释放资源。
返回
活动
Ended
在 AudioTextToSpeech 对象完成播放并暂停后触发。请注意,由于音频在到达结束时继续播放,因此此事件 不会 为 Looped 设置为 true 的音频触发。当音频在播放完成之前暂停时,此事件也 不会 被触发;对于这种情况,请使用 AudioTextToSpeech:GetPropertyChangedSignal() 在 IsPlaying 属性上。
此事件可在播放完成后用于销毁 AudioTextToSpeech 对象。
Looped
事件在 AudioTextToSpeech 对象循环后触发。当音频到达其内容的末尾,且 Looping 为 true 时发生。
如果通过更改其 TimePosition 手动循环音频,则此事件 不会 被触发。
WiringChanged
事件在 Wire 连接或断开连接后触发,并且该 Wire 现在或之前与 AudioTextToSpeech 的一个插口和其他可连接实例连接。