feat: true RMS dBFS level measurement for LevelMeterFab via getFloatTimeDomainData
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user