<Compile Include="メディア\画像.cs" />
<Compile Include="メディア\画像フォント.cs" />
<Compile Include="メディア\矩形リスト.cs" />
- <Compile Include="メディア\サウンド\WASAPI排他\ExclusiveDevice.cs" />
- <Compile Include="メディア\サウンド\WASAPI排他\MFAsyncCallback.cs" />
- <Compile Include="メディア\サウンド\WASAPI排他\Mixer.cs" />
- <Compile Include="メディア\サウンド\WASAPI排他\Sound.cs" />
- <Compile Include="メディア\サウンド\WASAPI排他\SoundTimer.cs" />
+ <Compile Include="メディア\サウンド\WASAPI\ExclusiveDevice.cs" />
+ <Compile Include="メディア\サウンド\WASAPI\MFAsyncCallback.cs" />
+ <Compile Include="メディア\サウンド\WASAPI\Mixer.cs" />
+ <Compile Include="メディア\サウンド\WASAPI\Sound.cs" />
+ <Compile Include="メディア\サウンド\WASAPI\SoundTimer.cs" />
<Compile Include="メディア\テクスチャ.cs" />
<Compile Include="メディア\デバイスリソース.cs" />
<Compile Include="入力\IInputDevice.cs" />
using System;
using System.Diagnostics;
-namespace FDK.メディア.サウンド.WASAPI排他
+namespace FDK.メディア.サウンド.WASAPI
{
public unsafe class ExclusiveDevice : IDisposable
{
using System;
-namespace FDK.メディア.サウンド.WASAPI排他
+namespace FDK.メディア.サウンド.WASAPI
{
/// <summary>
/// IMFAsyncCallback の汎用的な実装。
using System;
using System.Collections.Generic;
-namespace FDK.メディア.サウンド.WASAPI排他
+namespace FDK.メディア.サウンド.WASAPI
{
/// <summary>
/// Sound のリストを持ち、そのサウンドデータを合成してWASAPIデバイスへ出力するミキサー。
using System;
-namespace FDK.メディア.サウンド.WASAPI排他
+namespace FDK.メディア.サウンド.WASAPI
{
public unsafe class Sound : IDisposable
{
using System;
-namespace FDK.メディア.サウンド.WASAPI排他
+namespace FDK.メディア.サウンド.WASAPI
{
/// <summary>
/// WASAPIデバイス(のIAudioClock)をソースとするタイマー。
{
get { return StrokeStyleT.bs_フォルダ; }
}
- public static FDK.メディア.サウンド.WASAPI排他.ExclusiveDevice Wasapiデバイス
+ public static FDK.メディア.サウンド.WASAPI.ExclusiveDevice Wasapiデバイス
{
get { return StrokeStyleT.bs_Wasapiデバイス; }
}
#endregion
#region " WASAPI デバイスを初期化する。"
//----------------
- StrokeStyleT.bs_Wasapiデバイス = new FDK.メディア.サウンド.WASAPI排他.ExclusiveDevice();
+ StrokeStyleT.bs_Wasapiデバイス = new FDK.メディア.サウンド.WASAPI.ExclusiveDevice();
StrokeStyleT.bs_Wasapiデバイス.初期化する( 15.0f );
//----------------
#endregion
private static SST.フォルダ bs_フォルダ = null;
private static FDK.入力.Keyboard bs_キーボード入力 = null;
private static FDK.入力.MidiIn bs_MIDI入力 = null;
- private static FDK.メディア.サウンド.WASAPI排他.ExclusiveDevice bs_Wasapiデバイス = null;
+ private static FDK.メディア.サウンド.WASAPI.ExclusiveDevice bs_Wasapiデバイス = null;
private static readonly System.Random bs_乱数 = new Random( DateTime.Now.Millisecond );
private static SST.ユーザ.ユーザ管理 bs_ユーザ管理 = null;
private static SST.曲.曲ツリー管理 bs_曲ツリー管理 = null;
protected readonly string KitXmlファイルパス = @"$(Static)\sounds\Kit.xml";
protected class Cコンテキスト : IDisposable
{
- public FDK.メディア.サウンド.WASAPI排他.Sound[] Sounds = new FDK.メディア.サウンド.WASAPI排他.Sound[ ドラムサウンド.多重度 ];
+ public FDK.メディア.サウンド.WASAPI.Sound[] Sounds = new FDK.メディア.サウンド.WASAPI.Sound[ ドラムサウンド.多重度 ];
public int 次に再生するSound番号 = 0;
public void Dispose()
// コンテキストを作成する。
var context = new Cコンテキスト() {
- Sounds = new FDK.メディア.サウンド.WASAPI排他.Sound[ ドラムサウンド.多重度 ],
+ Sounds = new FDK.メディア.サウンド.WASAPI.Sound[ ドラムサウンド.多重度 ],
次に再生するSound番号 = 0,
};
for( int i = 0; i < context.Sounds.Length; i++ )
{
// 多重度分のサウンドを生成しつつ、ミキサーにも登録。
- context.Sounds[ i ] = new FDK.メディア.サウンド.WASAPI排他.Sound( サウンドファイルパス );
+ context.Sounds[ i ] = new FDK.メディア.サウンド.WASAPI.Sound( サウンドファイルパス );
StrokeStyleT.Wasapiデバイス.サウンドをミキサーに追加する( context.Sounds[ i ] );
}
this.子リスト.Add( this.背景動画 = new 動画( StrokeStyleT.演奏スコア.背景動画ファイル名, StrokeStyleT.Config.動画デコーダのキューサイズ ) );
// 動画から BGM を作成してミキサーに追加。
- this.BGM = new FDK.メディア.サウンド.WASAPI排他.Sound();
+ this.BGM = new FDK.メディア.サウンド.WASAPI.Sound();
this.BGM.ファイルから作成する( StrokeStyleT.演奏スコア.背景動画ファイル名 );
StrokeStyleT.Wasapiデバイス.サウンドをミキサーに追加する( this.BGM ); // 作成に失敗した Sound を追加しても鳴らないだけなので、ノーチェックで大丈夫。
}
protected FDK.同期.RWLock<double> 現在進行描画中の譜面スクロール速度の倍率 = new FDK.同期.RWLock<double>( 0.0 );
protected double 演奏開始時刻sec = 0.0;
protected bool Autoチップのドラム音を再生する = true;
- protected readonly FDK.メディア.サウンド.WASAPI排他.SoundTimer サウンドタイマ = new FDK.メディア.サウンド.WASAPI排他.SoundTimer();
+ protected readonly FDK.メディア.サウンド.WASAPI.SoundTimer サウンドタイマ = new FDK.メディア.サウンド.WASAPI.SoundTimer();
protected readonly SST.ステージ.演奏.コンボ コンボ;
protected readonly SST.ステージ.演奏.レーンフレーム レーンフレーム;
protected readonly SST.ステージ.演奏.スクロール譜面 スクロール譜面;
/// 解放は、演奏ステージクラスの非活性化後に、外部から行われる。
/// <see cref="SST.ステージ.演奏.演奏ステージ.BGMを解放する"/>
/// </remarks>
- protected FDK.メディア.サウンド.WASAPI排他.Sound BGM = null;
+ protected FDK.メディア.サウンド.WASAPI.Sound BGM = null;
protected FDK.カウンタ.FPS FPS = null;
/// <summary>
/// 動的子Activity。背景動画を再生しない場合は null のまま。