Love2D APISource本页总览Source 描述: Source 代表您可以播放的音频。 type 类型: 函数。 描述: 获取字符串形式的对象类型。 签名: type: function(self: Source): string 返回值: 返回类型描述string字符串类型。 Of 类型: 函数。 描述: 检查对象是否属于某种类型。如果对象的层次结构中具有指定名称的类型,则此函数将返回 true。 签名: typeOf: function(self: Source, type_name: string): boolean 参数: 参数名类型描述type_namestring要检查的类型的名称。 返回值: 返回类型描述boolean如果对象属于指定类型,则为 true,否则为 false。 release 类型: 函数。 描述: 销毁对象的 Lua 引用。如果该对象未被任何其他 LÖVE 对象或线程引用,则该对象将被完全删除。 这个方法可以用来立即清理资源,而不需要等待Lua的垃圾收集器。 签名: release: function(self: Source): boolean 返回值: 返回类型描述boolean如果对象已通过此调用释放,则为 true;如果先前已释放过该对象,则为 false。 clone 类型: 函数。 描述: 创建处于停止状态的源的相同副本。 静态源将使用显着更少的内存,并且创建它们所需的时间也更少,因此在制作播放相同声音的多个源时应首选此方法。 重载说明: 克隆源继承原始源的所有可设置状态,但它们被初始化为停止状态。 签名: clone: function(self: Source): Source 返回值: 返回类型描述Source此源的新的相同副本。 play 类型: 函数。 描述: 开始播放源。 签名: play: function(self: Source): boolean 返回值: 返回类型描述booleanSource是否能够成功开始播放。 pause 类型: 函数。 描述: 暂停源。 签名: pause: function(self: Source) stop 类型: 函数。 描述: 停止源。 签名: stop: function(self: Source) isPlaying 类型: 函数。 描述: 返回源是否正在播放。 签名: isPlaying: function(self: Source): boolean 返回值: 返回类型描述boolean如果源正在播放则为 true,否则为 false。 isStopped 类型: 函数。 描述: 返回此 Source 是否处于停止状态。此方法是兼容旧版 LÖVE 的废弃接口,仅当 Source 既未播放也未暂停时返回 true。 签名: isStopped: function(self: Source): boolean isPaused: function(self: Source): boolean setLooping 类型: 函数。 描述: 设置源是否应循环。 签名: setLooping: function(self: Source, looping: boolean) 参数: 参数名类型描述loopingboolean如果源应该循环则为 true,否则为 false。 isLooping 类型: 函数。 描述: 返回 Source 是否循环。 签名: isLooping: function(self: Source): boolean 返回值: 返回类型描述boolean如果源将循环则为 true,否则为 false。 setVolume 类型: 函数。 描述: 设置源的当前音量。 签名: setVolume: function(self: Source, volume: number) 参数: 参数名类型描述volumenumber源的音量,其中 1.0 是正常音量。音量不能调高到 1.0 以上。 getVolume 类型: 函数。 描述: 获取源的当前音量。 签名: getVolume: function(self: Source): number 返回值: 返回类型描述number源的音量,其中 1.0 是正常音量。 setPitch 类型: 函数。 描述: 设置源的音高。 签名: setPitch: function(self: Source, pitch: number) 参数: 参数名类型描述pitchnumber以 1 为基距计算。每降低 50% 就等于音高移动 -12 个半音(降低一个八度)。每次加倍等于音高移动 12 个半音(增加一个八度)。零不是合法值。 getPitch 类型: 函数。 描述: 获取源的当前音高。 签名: getPitch: function(self: Source): number 返回值: 返回类型描述number音高,其中 1.0 为正常值。 seek 类型: 函数。 描述: 设置源的当前播放位置。 签名: seek: function(self: Source, offset: number, unit?: string) 参数: 参数名类型描述offsetnumber要寻求的位置。unitstring位置值的单位。 (默认:'seconds'。) tell 类型: 函数。 描述: 获取Source 当前的播放位置。 签名: tell: function(self: Source, unit?: string): number 参数: 参数名类型描述unitstring返回值的单位类型。 (默认:'seconds'。) 返回值: 返回类型描述number源的当前播放位置。 getDuration 类型: 函数。 描述: 获取源的持续时间。对于流源,它可能并不总是样本准确的,并且如果根本无法确定持续时间,则可能返回 -1。 签名: getDuration: function(self: Source, unit?: string): number 参数: 参数名类型描述unitstring返回值的时间单位。 (默认:'seconds'。) 返回值: 返回类型描述number源的持续时间,如果无法确定则为 -1。 getChannelCount 类型: 函数。 描述: 获取源中的通道数。只有 1 通道(单声道)源可以使用方向和位置效果。 签名: getChannelCount: function(self: Source): integer getChannels: function(self: Source): integer 返回值: 返回类型描述integer1 用于单声道,2 用于立体声。 getFreeBufferCount 类型: 函数。 描述: 获取可排队源中的空闲缓冲区槽数。如果可排队源正在播放,则该值将增加到创建源时所用的数量。如果可排队源停止,它将首先处理其所有内部缓冲区,在这种情况下,该函数将始终返回其创建时所用的数量。 签名: getFreeBufferCount: function(self: Source): integer 返回值: 返回类型描述integer还有多少个 SoundData 对象可以排队。 queue 类型: 函数。 描述: 将 SoundData 排队以便在可排队源中播放。 -- 此方法需要通过 love.audio.newQueueableSource. 创建源 签名: queue: function(self: Source, data: SoundData, length?: number): boolean 参数: 参数名类型描述dataSoundData要排队的数据。 SoundData 的采样率、位深度和通道数必须与 Source 相匹配。lengthnumber要排队的字节数。(默认值:全部剩余数据。) 返回值: 返回类型描述booleansuccess — 如果数据已成功排队播放,则为 true;如果没有可用于排队的可用缓冲区,则为 false。 queue 类型: 函数。 描述: 将 SoundData 排队以便在可排队源中播放。 -- 此方法需要通过 love.audio.newQueueableSource. 创建源 签名: queue: function(self: Source, data: SoundData, offset: number, length: number): boolean 参数: 参数名类型描述dataSoundData要排队的数据。 SoundData 的采样率、位深度和通道数必须与 Source 相匹配。offsetnumber开始排队数据的字节偏移量。lengthnumber要排队的字节数。 返回值: 返回类型描述booleansuccess — 如果数据已成功排队播放,则为 true;如果没有可用于排队的可用缓冲区,则为 false。 setPosition 类型: 函数。 描述: 设置源的位置。请注意,这仅适用于单声道(即非立体声)声音文件! 签名: setPosition: function(self: Source, x: number, y: number, z?: number) 参数: 参数名类型描述xnumber源的 X 位置。ynumber源的 Y 位置。znumber源的 Z 位置。 getPosition 类型: 函数。 描述: 获取源的位置。 签名: getPosition: function(self: Source): number, number, number 返回值: 返回类型描述number源的 X 位置。number源的 Y 位置。number源的 Z 位置。 setVelocity 类型: 函数。 描述: 设置源的速度。 这确实“'not'”改变了源的位置,但让应用程序知道它如何计算多普勒效应。 签名: setVelocity: function(self: Source, x: number, y: number, z?: number) 参数: 参数名类型描述xnumber速度矢量的 X 部分。ynumber速度矢量的 Y 部分。znumber速度矢量的 Z 部分。 getVelocity 类型: 函数。 描述: 获取源的速度。 签名: getVelocity: function(self: Source): number, number, number 返回值: 返回类型描述number速度矢量的 X 部分。number速度矢量的 Y 部分。number速度矢量的 Z 部分。 setDirection 类型: 函数。 描述: 设置源的方向向量。零矢量使源无方向性。 签名: setDirection: function(self: Source, x: number, y: number, z?: number) 参数: 参数名类型描述xnumber方向向量的X部分。ynumber方向向量的Y部分。znumber方向向量的 Z 部分。 getDirection 类型: 函数。 描述: 获取源的方向。 签名: getDirection: function(self: Source): number, number, number 返回值: 返回类型描述number方向向量的X部分。number方向向量的Y部分。number方向向量的 Z 部分。 setCone 类型: 函数。 描述: 设置源的定向体积锥体。与 Source:setDirection 一起,锥角允许源的体积根据其方向而变化。 签名: setCone: function(self: Source, inner_angle: number, outer_angle: number, outer_volume?: number, outer_high_gain?: number) 参数: 参数名类型描述inner_anglenumber与源方向的内角,以弧度为单位。如果听者位于此角度定义的圆锥体内,则源将以正常音量播放。outer_anglenumber与源方向的外角,以弧度为单位。如果听者位于由内角和外角定义的锥体之间,则源将以正常音量和外音量之间的音量播放。outer_volumenumber当听者位于内锥角和外锥角之外时源的音量。 (默认值:0。)outer_high_gainnumberouter_high_gain 参数。 getCone 类型: 函数。 描述: 获取源的定向体积锥体。与 Source:setDirection 一起,锥角允许源的体积根据其方向而变化。 签名: getCone: function(self: Source): number, number, number, number 返回值: 返回类型描述number与源方向的内角,以弧度为单位。如果听者位于此角度定义的圆锥体内,则源将以正常音量播放。number与源方向的外角,以弧度为单位。如果听者位于由内角和外角定义的锥体之间,则源将以正常音量和外音量之间的音量播放。number当听者位于内锥角和外锥角之外时源的音量。 setAirAbsorption 类型: 函数。 描述: 设置应用于源的空气吸收量。 默认情况下,该值设置为 0,这意味着空气吸收效果被禁用。值为 1 将以每米 0.05 dB 的速率对源应用高频衰减。 空气吸收可以模拟声音在雾气、干燥空气、烟雾气氛等中的传播。它可以用来模拟一个区域内不同地点的不同大气条件。 重载说明: iOS 不支持音频空气吸收功能。 签名: setAirAbsorption: function(self: Source, factor: number) 参数: 参数名类型描述factornumber应用于源的空气吸收量。必须介于 0 和 10 之间。 getAirAbsorption 类型: 函数。 描述: 获取应用于源的空气吸收量。 默认情况下,该值设置为 0,这意味着空气吸收效果被禁用。值为 1 将以每米 0.05 dB 的速率对源应用高频衰减。 重载说明: iOS 不支持音频空气吸收功能。 签名: getAirAbsorption: function(self: Source): number 返回值: 返回类型描述number应用于源的空气吸收量。 setVolumeLimits 类型: 函数。 描述: 设置源的音量限制。限制必须是 0 到 1 之间的数字。 签名: setVolumeLimits: function(self: Source, min_volume: number, max_volume: number) 参数: 参数名类型描述min_volumenumber最小音量。max_volumenumber最大音量。 getVolumeLimits 类型: 函数。 描述: 返回源的音量限制。 签名: getVolumeLimits: function(self: Source): number, number 返回值: 返回类型描述number最小音量。number最大音量。 setRelative 类型: 函数。 描述: 设置源的位置、速度、方向和锥角是相对于听者的还是绝对的。 默认情况下,所有源都是绝对源,因此相对于爱的坐标系 0, 0 的原点。只有绝对源才会受到听者位置的影响。请注意,位置音频仅适用于单声道(即非立体声)源。 签名: setRelative: function(self: Source, relative: boolean) 参数: 参数名类型描述relativebooleanTrue 使位置、速度、方向和锥角相对于听者,为 false 使它们绝对。 (默认值:假。) isRelative 类型: 函数。 描述: 获取Source 的位置、速度、方向和锥角是否相对于听者。 签名: isRelative: function(self: Source): boolean 返回值: 返回类型描述boolean如果位置、速度、方向和锥角是相对于听者的,则为 true;如果是绝对的,则为 false。 setAttenuationDistances 类型: 函数。 描述: 设置源的参考距离和最大衰减距离。这些参数与当前的 DistanceModel 相结合,会影响源的音量如何根据距离衰减。 距离衰减仅适用于基于单声道(而不是立体声)音频的源。 签名: setAttenuationDistances: function(self: Source, reference_distance: number, max_distance: number) 参数: 参数名类型描述reference_distancenumber新的参考衰减距离。如果当前距离模型被钳位,则这是最小衰减距离。max_distancenumber新的最大衰减距离。 getAttenuationDistances 类型: 函数。 描述: 获取源的参考距离和最大衰减距离。这些值与当前的 DistanceModel 相结合,会影响源的音量如何根据距收听者的距离衰减。 签名: getAttenuationDistances: function(self: Source): number, number 返回值: 返回类型描述number当前参考衰减距离。如果当前距离模型被钳制,则这是源不再衰减之前的最小距离。number当前最大衰减距离。 setRolloff 类型: 函数。 描述: 设置影响所用距离衰减强度的滚降系数。 扩展信息和详细公式可以在OpenAL 1.1规范的'3.4. Attenuation By Distance'章节中找到。 签名: setRolloff: function(self: Source, rolloff: number) 参数: 参数名类型描述rolloffnumber新的滚降因子。 getRolloff 类型: 函数。 描述: 返回源的滚降系数。 签名: getRolloff: function(self: Source): number 返回值: 返回类型描述number滚降因子。 setFilter 类型: 函数。 描述: 设置播放源时要应用的低通、高通或带通滤波器。 签名: setFilter: function(self: Source): boolean 返回值: 返回类型描述booleansuccess — 过滤器是否成功应用于源。 setFilter 类型: 函数。 描述: 设置播放源时要应用的低通、高通或带通滤波器。 签名: setFilter: function(self: Source, filter: AudioFilterSettings): boolean 参数: 参数名类型描述filterAudioFilterSettings用于此源的过滤器设置,具有以下字段: 返回值: 返回类型描述booleansuccess — 过滤器是否成功应用于源。 getFilter 类型: 函数。 描述: 获取当前应用于源的过滤器设置。 签名: getFilter: function(self: Source, target?: AudioFilterSettings): AudioFilterSettings | nil 参数: 参数名类型描述targetAudioFilterSettingstarget 参数。 返回值: 返回类型描述AudioFilterSettings or nil用于此源的过滤器设置,如果源没有活动过滤器则为零。该表具有以下字段: setEffect 类型: 函数。 描述: 将音频效果应用于源。 -- 该效果必须事先使用 love.audio.setEffect. 签名: setEffect: function(self: Source, name: string): boolean 参数: 参数名类型描述namestring之前使用 love.audio.setEffect. 设置的效果名称 返回值: 返回类型描述booleansuccess — 效果是否成功应用于此源。 setEffect 类型: 函数。 描述: 将音频效果应用于源。 -- 该效果必须事先使用 love.audio.setEffect. 签名: setEffect: function(self: Source, name: string, enabled: boolean): boolean 参数: 参数名类型描述namestring之前使用 love.audio.setEffect. 设置的效果名称enabledboolean是否启用该效果。传入 false 会禁用已激活的效果。(默认值:true。) 返回值: 返回类型描述booleansuccess — 效果是否成功应用于此源。 setEffect 类型: 函数。 描述: 将音频效果应用于源。 -- 该效果必须事先使用 love.audio.setEffect. 签名: setEffect: function(self: Source, name: string, enabled: AudioFilterSettings): boolean 参数: 参数名类型描述namestring之前使用 love.audio.setEffect. 设置的效果名称enabledAudioFilterSettings在效果之前应用的过滤器设置,具有以下字段: 返回值: 返回类型描述boolean效果和滤波器是否成功应用于此源。 getEffect 类型: 函数。 描述: 获取与特定效果关联的过滤器设置。 如果应用效果时没有与其关联的滤镜设置,则此函数返回 nil。 签名: getEffect: function(self: Source, name: string, target?: AudioFilterSettings): boolean, AudioFilterSettings | nil 参数: 参数名类型描述namestring效果的名称。targetAudioFilterSettings一个可选的空表,将填充过滤器设置。 (默认值:{}。) 返回值: 返回类型描述boolean与此效果关联的过滤器的设置,如果此源中不存在该效果或没有关联的过滤器,则为零。该表具有以下字段: getActiveEffects 类型: 函数。 描述: 获取源的活动效果名称列表。 签名: getActiveEffects: function(self: Source): {string} 返回值: 返回类型描述{string}源的活动效果名称列表。 getType 类型: 函数。 描述: 获取源的类型。 签名: getType: function(self: Source): string 返回值: 返回类型描述string源的类型。