+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-using CSCore;
-
-namespace FDK.メディア.サウンド.WASAPI
-{
- /// <summary>
- /// WASAPIデバイス(のIAudioClock)をソースとするタイマー。
- /// </summary>
- /// <remarks>
- /// WASAPIデバイスと厳密に同期をとる場合には、QPCTimer ではなく、このクラスを使用する。
- /// </remarks>
- public class SoundTimer
- {
- /// <returns>エラー時は double.NaN を返す。</returns>
- public double 現在のデバイス位置secを取得する( long position, long qpcPosition, long frequency )
- {
- lock( this._スレッド間同期 )
- {
- long デバイス周波数 = frequency;
- long デバイス位置 = position;
- //long デバイス位置取得時のパフォーマンスカウンタを100ns単位に変換した時間 = qpcPosition;
- //long QPC周波数 = FDK.カウンタ.QPCTimer.周波数;
-
- if( 0.0 >= デバイス周波数 )
- return double.NaN;
-
- return (double) デバイス位置 / デバイス周波数;
- }
- }
-
- private readonly object _スレッド間同期 = new object();
- }
-}