AudioEffectCapture¶
继承: AudioEffect < Resource < RefCounted < Object
从音频总线实时捕获音频。
描述¶
音频效果捕获是一种音频效果,它将所有音频帧从附加的音频效果总线复制到其内部环形缓冲区。
应用程序代码应使用get_buffer()从该环形缓冲区中使用这些音频帧,并根据需要对其进行处理,例如从AudioStreamMicrophone捕获数据、实现应用程序定义的效果或通过网络传输音频。当从麦克风捕获音频数据时,样本的格式将是立体声32位浮点PCM。
与AudioEffectRecord不同,此效果仅返回原始音频样本,而不是将它们编码到AudioStream中。
属性¶
|
方法¶
can_get_buffer(frames: int) const |
|
void |
|
get_buffer(frames: int) |
|
get_buffer_length_frames() const |
|
get_discarded_frames() const |
|
get_frames_available() const |
|
get_pushed_frames() const |
属性说明¶
内部环形缓冲区的长度,以秒为单位。如果已经初始化,设置缓冲区长度将无效。
方法说明¶
bool can_get_buffer(frames: int) const 🔗
如果内部环形缓冲区中至少有frames音频帧可供读取,则返回true。
void clear_buffer() 🔗
清除内部环形缓冲区。
注意:在捕获期间调用它可能会导致样本丢失,从而导致播放中弹出。
PackedVector2Array get_buffer(frames: int) 🔗
从内部环形缓冲区获取下一个frames音频样本。
如果可用,则返回完全包含frames音频样本的PackedVector2Array,如果可用数据不足,则返回空的PackedVector2Array。
样本是-1和1之间的有符号浮点PCM。如果您想将它们用作8位或16位整数样本,则必须对其进行缩放。(v=0x7fff*样本[0].x)
int get_buffer_length_frames() const 🔗
以帧为单位返回内部环形缓冲区的总大小。
int get_discarded_frames() const 🔗
返回由于缓冲区已满而从音频总线丢弃的音频帧数。
int get_frames_available() const 🔗
返回使用get_buffer()可读取的帧数。
int get_pushed_frames() const 🔗
返回从音频总线插入的音频帧数。