OSDN Git Service

WASAPI 名前空間を WASAPIold に改名し、新しい WASAPI 名前空間に新しい実装を追加。
[strokestylet/CsWin10Desktop3.git] / StrokeStyleT / ステージ / 演奏 / 演奏ステージ.cs
index ddff029..5563b26 100644 (file)
@@ -64,8 +64,14 @@ namespace SST.ステージ.演奏
                        this.スクロール譜面.ヒット判定数加算 = ( hitType ) => {
                                this.ヒットした回数[ hitType ]++;
                        };
-                       this.スクロール譜面.背景動画再生開始 = () => {
+                       this.スクロール譜面.背景動画の長さsec = () => {
+                               return ( null != this.BGM ) ? this.BGM.長さsec : 0.0;
+                       };
+                       this.スクロール譜面.背景動画再生開始 = ( 開始位置sec ) => {
+                               this.背景動画.再生を開始する( 開始位置sec );
                                this.背景動画開始済み.Value = true;
+                               this.BGM?.再生を開始する( 開始位置sec );
+                               this.BGM再生開始済み = true;
                        };
                        this.スクロール譜面.チップヒット = ( chip ) => {
                                this.回転羽.発火する( chip.チップ種別 );
@@ -97,7 +103,7 @@ namespace SST.ステージ.演奏
                                this.子リスト.Add( this.背景動画 = new 動画( StrokeStyleT.演奏スコア.背景動画ファイル名, StrokeStyleT.Config.動画デコーダのキューサイズ ) );
 
                                // 動画から BGM を作成してミキサーに追加。
-                               this.BGM = new FDK.メディア.サウンド.WASAPI排他.Sound();
+                               this.BGM = new FDK.メディア.サウンド.WASAPIold.Sound();
                                this.BGM.ファイルから作成する( StrokeStyleT.演奏スコア.背景動画ファイル名 );
                                StrokeStyleT.Wasapiデバイス.サウンドをミキサーに追加する( this.BGM ); // 作成に失敗した Sound を追加しても鳴らないだけなので、ノーチェックで大丈夫。
                        }
@@ -263,8 +269,8 @@ namespace SST.ステージ.演奏
                protected bool BGM再生開始済み = false;
                protected FDK.同期.RWLock<double> 現在進行描画中の譜面スクロール速度の倍率 = new FDK.同期.RWLock<double>( 0.0 );
                protected double 演奏開始時刻sec = 0.0;
-               protected bool Autoチップのドラム音を再生する = false;
-               protected readonly FDK.メディア.サウンド.WASAPI排他.SoundTimer サウンドタイマ = new FDK.メディア.サウンド.WASAPI排他.SoundTimer();
+               protected bool Autoチップのドラム音を再生する = true;
+               protected readonly FDK.メディア.サウンド.WASAPIold.SoundTimer サウンドタイマ = new FDK.メディア.サウンド.WASAPIold.SoundTimer();
                protected readonly SST.ステージ.演奏.コンボ コンボ;
                protected readonly SST.ステージ.演奏.レーンフレーム レーンフレーム;
                protected readonly SST.ステージ.演奏.スクロール譜面 スクロール譜面;
@@ -279,7 +285,7 @@ namespace SST.ステージ.演奏
                /// 解放は、演奏ステージクラスの非活性化後に、外部から行われる。
                /// <see cref="SST.ステージ.演奏.演奏ステージ.BGMを解放する"/>
                /// </remarks>
-               protected FDK.メディア.サウンド.WASAPI排他.Sound BGM = null;
+               protected FDK.メディア.サウンド.WASAPIold.Sound BGM = null;
                protected FDK.カウンタ.FPS FPS = null;
                /// <summary>
                /// 動的子Activity。背景動画を再生しない場合は null のまま。