RIFF(4)+大小(4)+WAVE(4)+fmt (4)+ChunkSize(4)+wFormatTag(2)+nChannels(2)+nSamplesPerSec(4)+nAvgBytesPerSec(4)+nBlockAlign(2)
+wBitesPerSample(2)+data(4)+datasize(4)
using System.Runtime.InteropServices;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.IO;
using System;
class test
{
[DllImport("winmm.dll")]
extern static long sndPlaySound(string filename, long flags);
public static void myPlaySound(byte[] wave)
{
string wavFile = "temp.wav";
FileStream fs = new FileStream(wavFile,FileMode.Create);
fs.Write(wave,0,wave.Length);
fs.Close();
sndPlaySound(wavFile,0);
}
public static void myPlaySound(Stream wavStream)
{
string wavFile = "temp.wav";
byte[] wave = new byte[wavStream.Length];
wavStream.Read(wave,0,wave.Length);
FileStream fs = new FileStream(wavFile,FileMode.Create);
fs.Write(wave,0,wave.Length);
fs.Close();
sndPlaySound(wavFile,0);
}
public static void Main(string[] args)
{
#region 写入数据库
// string srcFile = @"D:projectTTSTTSMKCEVOICEwish.wav";
// FileStream fs = new FileStream(srcFile,FileMode.Open,FileAccess.Read);
// byte[] byteVoice = new byte[fs.Length];
// fs.Read(byteVoice,0,byteVoice.Length);
//
SqlConnection sqlConn = new SqlConnection("Data Source=(local);user=sa;password=***;Initial Catalog=roren");
SqlDataAdapter sqlDa = new SqlDataAdapter("select * from voice",sqlConn);
// SqlCommandBuilder sqlCb =new SqlCommandBuilder(sqlDa);
DataSet sqlDs = new DataSet();
sqlDa.Fill(sqlDs);
//
// DataRow dr = sqlDs.Tables[0].NewRow();
// dr[0] = "wish";
// dr[1] = byteVoice;
// sqlDs.Tables[0].Rows.Add(dr);
// sqlDa.Update(sqlDs);
// fs.Close();
#endregion
foreach(DataRow dr in sqlDs.Tables[0].Rows)
{
Console.WriteLine(dr["word"]);
myPlaySound((byte[])dr["voice"]);
}
Console.WriteLine("Game Over!");
Console.ReadLine();
}
}