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