9
C#を使用してストリームからオーディオを再生する
たとえば、データを一時的にディスクに保存せずにWebRequestから返されたSystem.IO.Streamからオーディオ(たとえば、MP3)を直接再生する方法はありますか? NAudioによるソリューション NAudio 1.3を使用すると、次のことが可能になります。 MP3ファイルをURLからMemoryStreamにロードします 完全に読み込まれた後にMP3データをWaveデータに変換する NAudioのWaveOutクラスを使用してWaveデータを再生する 半分ロードされたMP3ファイルを再生することさえできればいいのですが、これはNAudioライブラリの設計のために不可能のようです。 そして、これは仕事をする関数です: public static void PlayMp3FromUrl(string url) { using (Stream ms = new MemoryStream()) { using (Stream stream = WebRequest.Create(url) .GetResponse().GetResponseStream()) { byte[] buffer = new byte[32768]; int read; while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) { ms.Write(buffer, 0, read); } } …