mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-01-18 20:09:27 +08:00
feat: All intrinsic audio effects
This commit is contained in:
parent
5efa60a0de
commit
307bf8a10d
@ -83,7 +83,11 @@ export class StereoEffect extends AudioEffect {
|
|||||||
* @param y 朝向y坐标
|
* @param y 朝向y坐标
|
||||||
* @param z 朝向z坐标
|
* @param z 朝向z坐标
|
||||||
*/
|
*/
|
||||||
setOrientation(x: number, y: number, z: number) {}
|
setOrientation(x: number, y: number, z: number) {
|
||||||
|
this.output.orientationX.value = x;
|
||||||
|
this.output.orientationY.value = y;
|
||||||
|
this.output.orientationZ.value = z;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置音频位置,x正方形水平向右,y正方形垂直于地面向上,z正方向垂直屏幕远离用户
|
* 设置音频位置,x正方形水平向右,y正方形垂直于地面向上,z正方向垂直屏幕远离用户
|
||||||
@ -91,7 +95,11 @@ export class StereoEffect extends AudioEffect {
|
|||||||
* @param y 位置y坐标
|
* @param y 位置y坐标
|
||||||
* @param z 位置z坐标
|
* @param z 位置z坐标
|
||||||
*/
|
*/
|
||||||
setPosition(x: number, y: number, z: number) {}
|
setPosition(x: number, y: number, z: number) {
|
||||||
|
this.output.positionX.value = x;
|
||||||
|
this.output.positionY.value = y;
|
||||||
|
this.output.positionZ.value = z;
|
||||||
|
}
|
||||||
|
|
||||||
end(): void {}
|
end(): void {}
|
||||||
|
|
||||||
@ -113,12 +121,16 @@ export class VolumeEffect extends AudioEffect {
|
|||||||
* 设置音量大小
|
* 设置音量大小
|
||||||
* @param volume 音量大小
|
* @param volume 音量大小
|
||||||
*/
|
*/
|
||||||
setVolume(volume: number) {}
|
setVolume(volume: number) {
|
||||||
|
this.output.gain.value = volume;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取音量大小
|
* 获取音量大小
|
||||||
*/
|
*/
|
||||||
getVolume(): number {}
|
getVolume(): number {
|
||||||
|
return this.output.gain.value;
|
||||||
|
}
|
||||||
|
|
||||||
end(): void {}
|
end(): void {}
|
||||||
|
|
||||||
@ -148,16 +160,22 @@ export class ChannelVolumeEffect extends AudioEffect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置某个声道的音量大小
|
* 设置某个声道的音量大小
|
||||||
* @param channel 要设置的声道
|
* @param channel 要设置的声道,可填0-5
|
||||||
* @param volume 这个声道的音量大小
|
* @param volume 这个声道的音量大小
|
||||||
*/
|
*/
|
||||||
setVolume(channel: number, volume: number) {}
|
setVolume(channel: number, volume: number) {
|
||||||
|
if (!this.gain[channel]) return;
|
||||||
|
this.gain[channel].gain.value = volume;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取某个声道的音量大小
|
* 获取某个声道的音量大小,可填0-5
|
||||||
* @param channel 要获取的声道
|
* @param channel 要获取的声道
|
||||||
*/
|
*/
|
||||||
getVolume(channel: number): number {}
|
getVolume(channel: number): number {
|
||||||
|
if (!this.gain[channel]) return 0;
|
||||||
|
return this.gain[channel].gain.value;
|
||||||
|
}
|
||||||
|
|
||||||
end(): void {}
|
end(): void {}
|
||||||
|
|
||||||
@ -179,12 +197,16 @@ export class DelayEffect extends AudioEffect {
|
|||||||
* 设置延迟时长
|
* 设置延迟时长
|
||||||
* @param delay 延迟时长,单位秒
|
* @param delay 延迟时长,单位秒
|
||||||
*/
|
*/
|
||||||
setDelay(delay: number) {}
|
setDelay(delay: number) {
|
||||||
|
this.output.delayTime.value = delay;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取延迟时长
|
* 获取延迟时长
|
||||||
*/
|
*/
|
||||||
getDelay() {}
|
getDelay() {
|
||||||
|
return this.output.delayTime.value;
|
||||||
|
}
|
||||||
|
|
||||||
end(): void {}
|
end(): void {}
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import {
|
|||||||
import {
|
import {
|
||||||
AudioEffect,
|
AudioEffect,
|
||||||
ChannelVolumeEffect,
|
ChannelVolumeEffect,
|
||||||
|
DelayEffect,
|
||||||
EchoEffect,
|
EchoEffect,
|
||||||
IAudioOutput,
|
IAudioOutput,
|
||||||
StereoEffect,
|
StereoEffect,
|
||||||
@ -138,6 +139,16 @@ export class AudioPlayer extends EventEmitter<AudioPlayerEvent> {
|
|||||||
return new ChannelVolumeEffect(this.ac);
|
return new ChannelVolumeEffect(this.ac);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建一个延迟效果器
|
||||||
|
* |-----------|
|
||||||
|
* Input ----> | DelayNode | ----> Output
|
||||||
|
* |-----------|
|
||||||
|
*/
|
||||||
|
createDelay() {
|
||||||
|
return new DelayEffect(this.ac);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建一个回声效果器
|
* 创建一个回声效果器
|
||||||
* ```txt
|
* ```txt
|
||||||
|
Loading…
Reference in New Issue
Block a user