Copilot(プレビュー)の回答
C#でBase64エンコードされた音声データを再生するには、まずデータをデコードし、その後で音声を再生する必要があります。以下にその手順を示すコードスニペットを示します。
csharp
1using System;
2using System.IO;
3using System.Media;
4using System.Text;
5
6public class Program
7{
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ファイルを作成するなどの追加の手順が必要になるかもしれません。これらの点にご注意ください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/09/28 08:18