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