Skip to content

Commit 4485b2b

Browse files
committed
style: optimization of some named
1 parent f4a72ae commit 4485b2b

File tree

2 files changed

+25
-24
lines changed

2 files changed

+25
-24
lines changed

src/components/IllestWaveform.vue

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -71,23 +71,22 @@ function lazyLoadHandler() {
7171
const waveRef = ref<HTMLCanvasElement | null>(null)
7272
const ready = ref<boolean>(false)
7373
74-
let webAudioController: AudioController
74+
let audioController: AudioController
7575
let wave: Wave
7676
77-
// initialize waveform
7877
async function init(): Promise<void> {
7978
if (ready.value) return
8079
emits('onInit', true)
81-
await initAudio()
82-
await Promise.all([initWave()])
80+
await initAudioController()
81+
await initWave()
8382
ready.value = true
8483
emits('onReady', ready.value)
8584
}
8685
8786
// initialize web audio
88-
async function initAudio(): Promise<void> {
89-
webAudioController = new AudioController(props)
90-
await webAudioController.setupAudio()
87+
async function initAudioController(): Promise<void> {
88+
audioController = new AudioController(props)
89+
await audioController.setupAudio()
9190
watchIsFinish()
9291
}
9392
@@ -96,7 +95,7 @@ async function initWave(): Promise<void> {
9695
wave = new Wave(
9796
waveRef.value as HTMLCanvasElement,
9897
props,
99-
await webAudioController._filterData
98+
audioController._filterData
10099
)
101100
wave.setupCanvas()
102101
watchEffect(() => {
@@ -105,17 +104,17 @@ async function initWave(): Promise<void> {
105104
})
106105
}
107106
108-
// Waveform handlers
107+
// wave handlers
109108
const moveX = ref<number>(0)
110109
const currentTime = ref<number>(0)
111110
const maskWidth = ref<number>(0)
112111
113112
function drawWaveMask(): void | undefined {
114-
if (!webAudioController._playing) return
113+
if (!audioController._playing) return
115114
requestAnimationFrame(drawWaveMask)
116-
currentTime.value = webAudioController._currentTime
115+
currentTime.value = audioController._currentTime
117116
maskWidth.value =
118-
(currentTime.value / webAudioController._audioDuration) * wave._canvas.width
117+
(currentTime.value / audioController._audioDuration) * wave._canvas.width
119118
}
120119
121120
function mouseMoveHandler(e: any): void {
@@ -130,30 +129,30 @@ function clickHandler(): void {
130129
if (!ready.value || !props.interact) return
131130
maskWidth.value = moveX.value
132131
const pickedTime: number =
133-
(moveX.value / wave._canvas.width) * webAudioController._audioDuration
134-
webAudioController.pick(pickedTime)
132+
(moveX.value / wave._canvas.width) * audioController._audioDuration
133+
audioController.pick(pickedTime)
135134
currentTime.value = pickedTime
136135
emits('onClick', waveformContainer)
137136
emits('onFinish', false)
138137
}
139138
140-
// Audio handlers
139+
// audio handlers
141140
function play(): void {
142141
if (!ready.value) return
143-
webAudioController.play()
142+
audioController.play()
144143
emits('onPlay', true)
145144
drawWaveMask()
146145
}
147146
148147
function replay(): void {
149-
webAudioController.replay()
148+
audioController.replay()
150149
emits('onFinish', false)
151150
emits('onPlay', true)
152151
drawWaveMask()
153152
}
154153
155154
function pause(): void {
156-
webAudioController.pause()
155+
audioController.pause()
157156
emits('onPause', false)
158157
}
159158
@@ -163,7 +162,7 @@ function finish(): void {
163162
164163
function watchIsFinish(): void {
165164
watchEffect(() => {
166-
if (currentTime.value < webAudioController._audioDuration) return
165+
if (currentTime.value < audioController._audioDuration) return
167166
pause()
168167
finish()
169168
})
@@ -174,7 +173,7 @@ function getCurrentTime(): string {
174173
}
175174
176175
function getDuration(): string {
177-
const duration = webAudioController._audioDuration
176+
const duration = audioController._audioDuration
178177
return formatSecond(duration)
179178
}
180179

src/modules/Audio.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ export default class WebAudio {
1111
protected audioCtx: AudioContext
1212
protected audioBuffer!: AudioBuffer
1313
protected audioBufferSourceNode!: AudioBufferSourceNode
14+
private filterData!: number[][]
1415

1516
constructor(props: IllestWaveformProps) {
1617
this.props = props
1718
this.audioCtx = new AudioContext()
1819
}
1920

20-
get _filterData(): Promise<number[][]> {
21-
return this.createFilterData()
21+
get _filterData(): number[][] {
22+
return this.filterData
2223
}
2324

2425
get _audioDuration(): number {
@@ -29,6 +30,7 @@ export default class WebAudio {
2930

3031
public async setupAudio(): Promise<void> {
3132
await this.createAudioBuffer()
33+
this.createFilterData()
3234
}
3335

3436
private async createAudioBuffer(): Promise<void> {
@@ -37,7 +39,7 @@ export default class WebAudio {
3739
this.audioBuffer = await this.audioCtx.decodeAudioData(arrayBuffer)
3840
}
3941

40-
private createFilterData(): Promise<number[][]> {
42+
private createFilterData(): void {
4143
const samplingRate: number = this.props.samplingRate as number
4244
const channels: number = this.audioBuffer.numberOfChannels
4345
const rawDataList: Float32Array[] = []
@@ -56,7 +58,7 @@ export default class WebAudio {
5658
filteredData.push(temp)
5759
}
5860

59-
return Promise.resolve(filteredData)
61+
this.filterData = filteredData
6062
}
6163

6264
protected connectDestination(): void {

0 commit comments

Comments
 (0)