Поделиться через


AudioQueue.CurrentLevelMeterDB Свойство

Определение

Текущие единицы измерения уровня, по одному на канал в децибелах.

public AudioToolbox.AudioQueueLevelMeterState[] CurrentLevelMeterDB { get; }
member this.CurrentLevelMeterDB : AudioToolbox.AudioQueueLevelMeterState[]

Значение свойства

Массив единиц измерения уровня, по одному на аудиоканал.

Комментарии

Чтобы использовать это свойство, убедитесь, что свойство задано EnableLevelMetering в очереди.

Используйте , CurrentLevelMeter если вы хотите получить значения, нормализованные в диапазоне от нуля (минимума) до единицы (максимум).

class MyInputQueue : InputAudioQueue {
    public MyQueueInput (AudioStreamBasicDescription desc) : base (desc) 
    {
    	inputQueue.EnableLevelMetering = true;
    }

    protected virtual void OnInputCompleted (IntPtr audioQueueBuffer, 
                                             AudioTimeStamp timeStamp, 
                                             AudioStreamPacketDescription [] packetData)
    {
        var levels = CurrentLevelMeterDB;
        for (int channel = 0; channel < levels.Count; channel.Length)
    	Console.WriteLine ("Channel {0} Average Power: {1} Peak Power: {2}", 
                               channel, levels [channel].AveragePower, levels [channel].PeakPower);
        }
    }
}

Применяется к