feat: true RMS dBFS level measurement for LevelMeterFab via getFloatTimeDomainData

This commit is contained in:
daniel-c-harvey
2026-06-08 14:40:11 -04:00
parent 9cbc09edf7
commit 58725c4646
5 changed files with 150 additions and 29 deletions
+26
View File
@@ -198,6 +198,32 @@ const DeepDrftAudio = {
return { success: true };
},
getLevelDb: (playerId: string): number => {
const player = audioPlayers.get(playerId);
return player?.getLevelDb() ?? -Infinity;
},
startLevelAnimation: (
playerId: string,
callbackId: string,
dotNetRef: DotNetObjectReference,
methodName: string
): AudioResult => {
const player = audioPlayers.get(playerId);
if (!player) return { success: false, error: 'Player not found' };
player.startLevelAnimation(callbackId, (db: number) => {
dotNetRef.invokeMethodAsync(methodName, db);
});
return { success: true };
},
stopLevelAnimation: (playerId: string, callbackId: string): AudioResult => {
const player = audioPlayers.get(playerId);
if (!player) return { success: false, error: 'Player not found' };
player.stopLevelAnimation(callbackId);
return { success: true };
},
disposePlayer: (playerId: string): AudioResult => {
const player = audioPlayers.get(playerId);
if (player) {