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


AudioQueue.CurrentLevelMeter Свойство

Определение

Счетчики текущего уровня, по одному на канал в диапазоне от нуля (минимума) до одного (максимум).

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

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

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

Комментарии

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

Используйте , CurrentLevelMeterDB если вы хотите получить значения в децибелах.

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);
        }
    }
}

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