XAudio2でストリーミングを再生しようとしていますが、C#でのサンプルが少なく、中々前に進めません。
毎日、少し考えて、嫌になってゲームで気分転換、ゲームに飽きてまた少し考える..の繰り返しでしたが、少し先が見えてきた気がします。
以下は、自分用の覚書なので、全く間違っている可能性もあります。 真に受けないでください。
結局、sourceVoiceに音声データを渡してやればよい。 souceVoiceに音声データを渡すには、AudioDataクラスを使う。
ただし、マネージドメモリのデータだと、勝手にガベージコレクションで捨てられてしまうので、アンマネージドメモリを確保しておいて、そこに音声データを格納しておく。
アンマネージドメモリの確保には、Utilitiesクラスを使う。
途切れなく音声を再生するには、途切れなくsourceVoiceに音声データを渡す必要がある。 AudioDataクラスのインスタンスを複数作成しておき、一つのAudioDataの音声データを再生中に、他のAudioDataに音声データを書き込み、再生終了のタイミングで次の音声データを渡す。
こんな感じかな..