winform下能实现,但在aspx为何不能实现呢?

战斗生活 2010-06-25 04:26:53
在winform下能实现,但在aspx为何不能实现呢?

form.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SpeechLib;

namespace pro2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SpeechLib.SpVoice Voice = new SpVoiceClass();
private void Form1_Load(object sender, EventArgs e)
{
Voice.Viseme += new _ISpeechVoiceEvents_VisemeEventHandler(Voice_Viseme);
}

private void button1_Click(object sender, EventArgs e)
{
Voice.Speak(textBox1.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync);
}

void Voice_Viseme(int StreamNumber, object StreamPosition, int Duration, SpeechVisemeType NextVisemeId, SpeechVisemeFeature Feature, SpeechVisemeType CurrentVisemeId)
{

label1.Text += "CurrentVisemeId:" + CurrentVisemeId.ToString() + "\n";

}

}
}


上面能得到结果



aspx.cs


using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using SpeechLib;

namespace myspeak
{
public partial class MySpeak : System.Web.UI.Page
{
SpeechLib.SpVoice Voice = new SpVoiceClass();
protected void Page_Load(object sender, EventArgs e)
{
Voice.Viseme += new _ISpeechVoiceEvents_VisemeEventHandler(Voice_Viseme);
}
void Voice_Viseme(int StreamNumber, object StreamPosition, int Duration, SpeechVisemeType NextVisemeId, SpeechVisemeFeature Feature, SpeechVisemeType CurrentVisemeId)
{
lbl.Text += "Voice_Viseme:" + CurrentVisemeId.ToString();
}

protected void Button1_Click1(object sender, EventArgs e)
{
Voice.Speak("hello", SpeechVoiceSpeakFlags.SVSFlagsAsync);
}

}
}

下面这个却没有得到CurrentVisemeId这是为什么呢


winform下面和aspx.net的委托机制不一样吗
为什么后者没有事件触发


谢谢各位先啦
...全文
273 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
战斗生活 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 leavemaple 的回复:]

用ICallBackHandlerEvent吧,客户端回调服务器

ICallBackHandlerEvent用法,自己可以搜索下。
[/Quote]

说说思想嘛 难道直接是调用哪个事件吗?
我不太懂
leavemaple 2010-06-26
  • 打赏
  • 举报
回复
用ICallBackHandlerEvent吧,客户端回调服务器

ICallBackHandlerEvent用法,自己可以搜索下。
bagegejin 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kevin_cheung 的回复:]
试试看

C# code

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Voice.Viseme += new _ISpeechVoiceEvents_VisemeE……
[/Quote]
试试看
战斗生活 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 bagegejin 的回复:]

引用 2 楼 kevin_cheung 的回复:
试试看

C# code

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Voice.Viseme += new _ISpeechVoiceEvents_VisemeE……

试试看
[/Quote]
试过了啊 不行的啊
战斗生活 2010-06-26
  • 打赏
  • 举报
回复
期待会的朋友来回答 ......
战斗生活 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wuyq11 的回复:]

想实现什么功能,asp.net中播放文件有很多方法
[/Quote]

我不用播放中文
我只要英文的
但是我想要获得事件,事件包括 一些参数 例如,每个单词的时间间隔 , 韵母ID,
(CurrentVisemeId,Duration,Word,Length,.......)
因为我要这些参数是交给ACTION SCRIPT 来显示唇形

就这么简单


但被这个问题卡住了 事件没有被触发。。。不知道如何获得这些参数
wuyq11 2010-06-25
  • 打赏
  • 举报
回复
想实现什么功能,asp.net中播放文件有很多方法
战斗生活 2010-06-25
  • 打赏
  • 举报
回复
问题是 我如何实现呢

speak已经进行了啊 为什么事件没有被触发呢

如果主动去获得事件的结果 改怎么办呢
whoami333 2010-06-25
  • 打赏
  • 举报
回复
winform能实现的,webform不一定能实现。
战斗生活 2010-06-25
  • 打赏
  • 举报
回复
不会吧 难道真的没有救了吗?
高手 帮帮忙吧
WM_JAWIN 2010-06-25
  • 打赏
  • 举报
回复
朗读文字?
估计这几行不行。
战斗生活 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xiaogangqq123456 的回复:]

我能想到的就只有Ajax 发送一次数据了..
[/Quote]

我不太懂 麻烦请教你一下啊吧 谢谢
xiaogangqq123456 2010-06-25
  • 打赏
  • 举报
回复
我能想到的就只有Ajax 发送一次数据了..
战斗生活 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zgke 的回复:]

COM组件的权限问题把
[/Quote]

那我该如何设置呢
战斗生活 2010-06-25
  • 打赏
  • 举报
回复
请高手指点了 我不知道如何改啊?
xiaogangqq123456 2010-06-25
  • 打赏
  • 举报
回复
你滴明白...web 开发和客户端开发的区别滴..

我猜想你这个Voice_Viseme 事件肯定是有延迟的..

web的请求时一次性发送到浏览器的...

发送完之后 你再修改页面数据 肯定是不行的
zgke 2010-06-25
  • 打赏
  • 举报
回复
COM组件的权限问题把
战斗生活 2010-06-25
  • 打赏
  • 举报
回复
还是不行啊 真不知道要怎么改才能实现了?

天啊
LovingAlison 2010-06-25
  • 打赏
  • 举报
回复
试试看

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Voice.Viseme += new _ISpeechVoiceEvents_VisemeEventHandler(Voice_Viseme);
}
}

HolyPlace 2010-06-25
  • 打赏
  • 举报
回复
bs模式下你的控件要后台修改必须加runat="server",两种模式很多不一样的

110,533

社区成员

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

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

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