Function: useAudioManager()
useAudioManager():
object
Defined in: packages/core/src/hooks/useAudioManager.ts:56
React hook to access global audio manager state and controls.
This hook provides access to the AudioManager's reactive state (master volume, mute status) and bound control methods.
Returns
Reactive audio manager state and control methods
disposeAll()
disposeAll: () =>
void
Disposes all audio tracks.
Useful for cleanup when shutting down the game.
Returns
void
Example
AudioManager.disposeAll();
getAllTracks()
getAllTracks: () =>
AudioTrack
[]
Gets all registered audio tracks.
Returns
AudioTrack
[]
Array of all audio tracks
Example
const tracks = AudioManager.getAllTracks();
console.log(`Total tracks: ${tracks.length}`);
getMasterVolume()
getMasterVolume: () =>
number
Gets the current master volume.
Returns
number
The master volume level (0.0 to 1.0)
Example
const volume = AudioManager.getMasterVolume();
getTrackById()
getTrackById: (
id
) =>AudioTrack
|undefined
Gets an audio track by its ID.
Parameters
id
string
The unique identifier of the audio track
Returns
AudioTrack
| undefined
The audio track, or undefined if not found
Example
const music = AudioManager.getTrackById('bg-music');
if (music) {
music.play();
}
isMuted
isMuted:
boolean
=false
masterVolume
masterVolume:
number
=1
muteAll()
muteAll: () =>
void
Mutes all audio tracks.
Returns
void
Example
AudioManager.muteAll();
pauseAll()
pauseAll: () =>
void
Pauses all currently playing audio tracks.
Returns
void
Example
AudioManager.pauseAll();
resumeAll()
resumeAll: () =>
void
Resumes all paused audio tracks.
Returns
void
Example
AudioManager.resumeAll();
setMasterVolume()
setMasterVolume: (
volume
) =>void
Sets the master volume for all audio tracks.
The master volume is multiplied with each track's individual volume. This does not modify individual track volumes - it applies a global multiplier.
Parameters
volume
number
Master volume level (0.0 to 1.0), clamped to valid range
Returns
void
Example
AudioManager.setMasterVolume(0.5); // 50% master volume
stopAll()
stopAll: () =>
void
Stops all audio tracks.
Returns
void
Example
AudioManager.stopAll();
unmuteAll()
unmuteAll: () =>
void
Unmutes all audio tracks.
Returns
void
Example
AudioManager.unmuteAll();
Example
import { useAudioManager } from '@react-text-game/core';
function AudioSettingsMenu() {
const audioManager = useAudioManager();
return (
<div>
<h2>Audio Settings</h2>
<label>
Master Volume: {(audioManager.masterVolume * 100).toFixed(0)}%
<input
type="range"
min="0"
max="1"
step="0.01"
value={audioManager.masterVolume}
onChange={(e) => audioManager.setMasterVolume(parseFloat(e.target.value))}
/>
</label>
<button onClick={audioManager.muteAll}>
Mute All
</button>
<button onClick={audioManager.unmuteAll}>
Unmute All
</button>
<button onClick={audioManager.pauseAll}>
Pause All
</button>
<button onClick={audioManager.resumeAll}>
Resume All
</button>
<p>Muted: {audioManager.isMuted ? 'Yes' : 'No'}</p>
<p>Total Tracks: {audioManager.getAllTracks().length}</p>
</div>
);
}