mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-02-11 20:52:32 +03:00
26 lines
801 B
TypeScript
26 lines
801 B
TypeScript
import { useEffect, useState } from "react"
|
|
|
|
export type AudioConfigState = {
|
|
audioContext: AudioContext | null
|
|
}
|
|
|
|
export const useAudioConfig = (): AudioConfigState => {
|
|
const [audioContext, setAudioContext] = useState<AudioContext | null>(null)
|
|
useEffect(() => {
|
|
const createAudioContext = () => {
|
|
const ctx = new AudioContext()
|
|
document.removeEventListener('touchstart', createAudioContext);
|
|
document.removeEventListener('mousedown', createAudioContext);
|
|
setAudioContext(ctx)
|
|
}
|
|
document.addEventListener('touchstart', createAudioContext, false);
|
|
document.addEventListener('mousedown', createAudioContext, false);
|
|
}, [])
|
|
|
|
const ret: AudioConfigState = {
|
|
audioContext
|
|
}
|
|
|
|
return ret
|
|
|
|
} |