次の方法で共有


AudioQueue.CurrentLevelMeterDB プロパティ

定義

現在のレベル メーター。1 チャネルあたり 1 デシベル単位。

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

プロパティ値

レベル メーターの配列。オーディオ チャネルごとに 1 つ。

注釈

このプロパティを使用するには、キューに プロパティを EnableLevelMetering 設定していることを確認します。

CurrentLevelMeter範囲 0 (最小値) から 1 (最大値) に正規化された値を取得する場合は、 を使用します。

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

適用対象