C#でBase64でエンコードされた音声の再生

C#でBase64エンコードされた音声データを再生するには、まずデータをデコードし、その後で音声を再生する必要があります。以下にその手順を示すコードスニペットを示します。

csharp

1using System;2using System.IO;3using System.Media;4using System.Text;5 6public class Program7{8 public static void Main()9 {10 // Base64エンコードされた音声データ11 string base64Audio = "..."; // ここにBase64エンコードされた音声データを入力します12 13 // Base64データをバイト配列にデコード14 byte[] audioBytes = Convert.FromBase64String(base64Audio);15 16 // メモリストリームにバイト配列を書き込み17 using (MemoryStream ms = new MemoryStream(audioBytes))18 {19 // SoundPlayerインスタンスの作成20 SoundPlayer player = new SoundPlayer(ms);21 22 // 音声の再生23 player.PlaySync();24 }25 }26}

このコードは、Base64エンコードされた音声データをバイト配列にデコードし、そのバイト配列をメモリストリームに書き込みます。その後、System.Media.SoundPlayerクラスのインスタンスを作成し、そのインスタンスを使用して音声を再生します。

ただし、このコードはWindows Formsアプリケーションで動作しますが、WPFや他のプラットフォームでは動作しない場合があります。また、音声データがWAV形式であることが前提となっています。他の形式(MP3など)の場合は、適切なライブラリ(NAudioなど)を使用してデコードする必要があります。また、SoundPlayerクラスは同期的に音声を再生するため、音声の再生中は他の操作がブロックされます。非同期的に音声を再生する場合は、Playメソッドを使用してください。ただし、Playメソッドはメモリストリームからの再生をサポートしていないため、一時的なWAVファイルを作成するなどの追加の手順が必要になるかもしれません。これらの点にご注意ください。

コメントを投稿

0 コメント