软件怎么跟音频结合呢

bu88dong 2010-11-15 11:49:25
就像银行里轮到谁办理业务了有音频的提示、如“编号为092号的请到第二窗口办理业务”提示。
...全文
218 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-11-15
  • 打赏
  • 举报
回复
System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = "音频文件";
player.Play();

或是添加到项目资源中,设置player的stream属性为资源中的音频对象。播放即可。
bu88dong 2010-11-15
  • 打赏
  • 举报
回复
汗、下载了tts中文语言包不起作用、怎么回事哦。。郁闷。
herty 2010-11-15
  • 打赏
  • 举报
回复
建议用 SpeechSynthesizer 配合 backgroundWorker 控件...
herty 2010-11-15
  • 打赏
  • 举报
回复
兄弟你试下把
speaker.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult, 2, System.Globalization.CultureInfo.CurrentCulture);

换成
speaker.Voice = voice.GetVoices("name= Microsoft lili" ), "").Item(0);

Microsoft lili 需要安装.你可以尝试其他的.
whrspsoft3723 2010-11-15
  • 打赏
  • 举报
回复
我的方案,只要机器会发声,录几个1,2,。。。一直到9的发音的小文件,查出来id,分解成单字后,组合成一个语音文件,让系统播放(一楼的方案),减少点系统的复杂度。
wanghui0380 2010-11-15
  • 打赏
  • 举报
回复
恩、是这个。我用这个可惜没读到我想让他读的东西、只读出那个从数据库查出来的id


额,你需要安装 中文语音库,通常默认安装只有英文的语音库
bu88dong 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bu88dong 的回复:]
恩、是这个。我用这个可惜没读到我想让他读的东西、只读出那个从数据库查出来的id
不知道怎么回事、你看看就是这个:
private void button1_Click(object sender, EventArgs e)
{
string sql = "select min(Qid) from Queue where isNull(State ,'')='' ";
int……
[/Quote]
嘿、不好意思。这个也是问题、还有个更大的就是没有tts中文语言包。找不到下载的资源呢、我的是03的系统
yucuihaimeng 2010-11-15
  • 打赏
  • 举报
回复
学习了...
wanghui0380 2010-11-15
  • 打赏
  • 举报
回复
纯文本+TTS语音引擎

或者

voicexml+支持voicexml的硬件设备

或者

直接操作语音卡
兔子-顾问 2010-11-15
  • 打赏
  • 举报
回复
n.ToString()
bu88dong 2010-11-15
  • 打赏
  • 举报
回复
恩、是这个。我用这个可惜没读到我想让他读的东西、只读出那个从数据库查出来的id
不知道怎么回事、你看看就是这个:
private void button1_Click(object sender, EventArgs e)
{
string sql = "select min(Qid) from Queue where isNull(State ,'')='' ";
int n = ExecSql2(sql);
string sql1 = "update Queue set State='完成' where Qid=" + n;
ExecSql1(sql1);
SpeechSynthesizer speaker = new SpeechSynthesizer();
speaker.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult, 2, System.Globalization.CultureInfo.CurrentCulture);
speaker.Rate = -2;
speaker.Volume = 100;
speaker.SpeakAsync("编号为" + n + "请到第一号窗口办理业务");

}
兔子-顾问 2010-11-15
  • 打赏
  • 举报
回复
你是说朗读文本?
SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice voice = new SpVoice();
voice.Speak("编号为092号的请到第二窗口办理业务", spFlags);

这个么?
bu88dong 2010-11-15
  • 打赏
  • 举报
回复
不是这个啦、不过还是谢谢哦

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧