影子跟读法如何跟读进行代码跟读

一段好玩的代码:语音朗读程序【vb吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:104,426贴子:
一段好玩的代码:语音朗读程序收藏
我也是刚了解到的这个部件,没想到开发桌面取词、翻译、文本朗读之类的程序是如此简单,微软早就给咱准备好了·呵呵···· 废话不多说,代码发2楼,新建一应用程序,复制2楼代码直接运行就看到效果了,
通用软件不合适,定做软件太昂贵,自己用vb.net开发太难,何不试试FoxTable?
Option ExplicitPrivate Num%, Vos As ObjectPrivate WithEvents Timer1 As TimerPrivate Sub Form_Load()&& Num = 3&& Set Vos = CreateObject("sapi.spvoice")&&&& Vos.speak "WARNING! Your computer will explode after 3 seconds!"&& Set Timer1 = Me.Controls.Add("vb.timer", "tTimer1")&& Timer1.Interval = 500: Timer1.Enabled = True: Me.Visible = FalseEnd SubPrivate Sub Timer1_Timer()&& If Num = 0 Then&&&&& Vos.speak "Boom, Boom, Booooom! Oh! you are finished! " & _&&&&&&&&&&&&&&& "hahahahaha, This is just a joke with you, " & _&&&&&&&&&&&&&&& "Now I have to leave here! bye bye"&&&&& Me.Controls.Remove "tTimer1"&&&&& Unload Me&&&&& Exit Sub&& End If&& Vos.speak Num & "!"&& Num = Num - 1End Sub
前提:你的音箱必须得开着~~ (*^__^*)
老系统不可以放国语,Vista系统可以放的
用拼音很好玩
Option&Explicit
Private&Num%,&Vos&As&Object
Private&WithEvents&Timer1&As&Timer
Private&Sub&Form_Load()
&&&Num&=&3
&&&Set&Vos&=&CreateObject(&sapi.spvoice&)
&&&&&Vos.speak&&WARNING!&Your&computer&will&explode&after&3&seconds!&
&&&Set&Timer1&=&Me.Controls.Add(&vb.timer&,&&tTimer1&)
&&&Timer1.Interval&=&500:&Timer1.Enabled&=&True:&Me.Visible&=&False
End&Sub
Private&Sub&Timer1_Timer()
&&&If&Num&=&0&Then
&&&&&&Vos.speak&&Yong&Pin&Yin&Hen&Hao&Wan?&
&&&&&&'Vos.speak&&Boom,&Boom,&Booooom!&Oh!&you&are&finished!&&&&&_
&&&&&&&&&&&&&&&&&hahahahaha,&This&is&just&a&joke&with&you,&&&&&_
&&&&&&&&&&&&&&&&&Now&I&have&to&leave&here!&bye&bye&
&&&&&&Me.Controls.Remove&&tTimer1&
&&&&&&Unload&Me
&&&&&&Exit&Sub
&&&End&If
&&&Vos.speak&Num&&&&!&
&&&Num&=&Num&-&1
End&Sub
快试试吧,可以对自己使用挽尊卡咯~◆◆
在中国有中式英语,在这里有美式汉语
登录百度帐号推荐应用查看: 4545|回复: 6
如何调用语音朗读引擎
阅读权限70
在线时间 小时
我的电脑中已经安装了ScanSoft-MeiLing-ChineseMandarinVoice汉语普通话女声语音朗读引擎,该如何通过VBA代码实现朗读excel单元格中的文本呢?
阅读权限90
在线时间 小时
进控制面板,点击“语音”,文字语音转换,选择MeiLing为系统的缺省语音。
阅读权限90
在线时间 小时
coby001 发表于
进控制面板,点击“语音”,文字语音转换,选择MeiLing为系统的缺省语音。
Sub xp_xls2003()
& & Dim spch As Speech
& & Set spch = Application.Speech
& & spch.Speak &你好ExcelHome,现在是MeiLing为您朗读。&
阅读权限70
在线时间 小时
coby001l,谢谢了,有没有中英文能够混读的引擎呢,比喻说中文中夹杂有英文,中国按中文读,英文按英文读。给个下载地址。
1、声音尽量甜美,接近真人版。
2、文件相对小一点。
阅读权限90
在线时间 小时
ScanSoft-MeiLing-ChineseMandarinVoice
阅读权限20
在线时间 小时
Mark ,学习了
阅读权限30
在线时间 小时
留个脚印!
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师代码跟读如何进行?-阿里云资讯网
代码跟读如何进行?
发布时间:
更新时间:
来源:网络
上传者:用户
今天,我们不谈Spark中复杂的技术实现,只是稍微如何进行代码跟读。Spark使用scala进行开发这是众所周知的事情,因为在scala有着众多的语法糖,在很多时候回出现代码跟着跟着就觉着线索跟丢了,另外Spark是基于Akka进行的信息交互,那么怎样知道对方是接收方?
new Throwable().printStackTrace
在代码跟读的时候,用户常常会向日志求助,在阅览日志中输出的每一句后,很都会想知道它们的调用者是谁。但有时因为不够的了解spark系统,又或者因为对scala不够,所以会出现一时半会之内无法找到答案的情况,那么,有没有什么简便的办法来知道对方是谁呢?
笔者所给出的办法,把下面这句话加入到日志出现的地方
new&Throwable().printStackTrace()&
现在举一个实际的例子来说明问题。
比如我们在启动spark-shell之后,输入一句非常简单的sc.textFile(&README.md&),会输出下述的log
14/07/05&19:53:27&INFO&MemoryStore:&ensureFreeSpace(32816)&called&with&curMem=0,&maxMem=/07/05&19:53:27&INFO&MemoryStore:&Block&broadcast_0&stored&as&values&in&memory&(estimated&size&32.0&KB,&free&294.6&MB) &14/07/05&19:53:27&DEBUG&BlockManager:&Put&block&broadcast_0&locally&took&&78&ms &14/07/05&19:53:27&DEBUG&BlockManager:&Putting&block&broadcast_0&without&replication&took&&79&ms &res0:&org.apache.spark.rdd.RDD[String]&=&README.md&MappedRDD[1]&at&textFile&at&:13&
那我很想知道是第二句日志所在的tryToPut函数是被谁调用的该怎么办?
办法就是打开MemoryStore.scala,找到下述语句
logInfo(&Block&%s&stored&as&%s&in&memory&(estimated&size&%s,&free&%s)&.format( &&&&&&&&&&&blockId,&valuesOrBytes,&Utils.bytesToString(size),&Utils.bytesToString(freeMemory))) &
在这句话之上,添加如下语句
new&Throwable().printStackTrace()&
然后,重新进行源码编译
sbt/sbt&assembly&
再次打开spark-shell,执行sc.textFile(&README.md&),就可以得到如下输出,从中可以清楚知道tryToPut的调用者是谁
14/07/05&19:53:27&INFO&MemoryStore:&ensureFreeSpace(32816)&called&with&curMem=0,&maxMem=/07/05&19:53:27&WARN&MemoryStore:&just&show&the&calltrace&by&entering&some&modified&code &.lang.Throwable &&&at&org.apache.spark.storage.MemoryStore.tryToPut(MemoryStore.scala:182) &&&at&org.apache.spark.storage.MemoryStore.putValues(MemoryStore.scala:76) &&&at&org.apache.spark.storage.MemoryStore.putValues(MemoryStore.scala:92) &&&at&org.apache.spark.storage.BlockManager.doPut(BlockManager.scala:699) &&&at&org.apache.spark.storage.BlockManager.put(BlockManager.scala:570) &&&at&org.apache.spark.storage.BlockManager.putSingle(BlockManager.scala:821) &&&at&org.apache.spark.broadcast.HttpBroadcast.(HttpBroadcast.scala:52) &&&at&org.apache.spark.broadcast.HttpBroadcastFactory.newBroadcast(HttpBroadcastFactory.scala:35) &&&at&org.apache.spark.broadcast.HttpBroadcastFactory.newBroadcast(HttpBroadcastFactory.scala:29) &&&at&org.apache.spark.broadcast.BroadcastManager.newBroadcast(BroadcastManager.scala:62) &&&at&org.apache.spark.SparkContext.broadcast(SparkContext.scala:787) &&&at&org.apache.spark.SparkContext.hadoopFile(SparkContext.scala:556) &&&at&org.apache.spark.SparkContext.textFile(SparkContext.scala:468) &&&at&$line5.$read$$iwC$$iwC$$iwC$$iwC.(:13) &&&at&$line5.$read$$iwC$$iwC$$iwC.(:18) &&&at&$line5.$read$$iwC$$iwC.(:20) &&&at&$line5.$read$$iwC.(:22) &&&at&$line5.$read.(:24) &&&at&$line5.$read$.(:28) &&&at&$line5.$read$.() &&&at&$line5.$eval$.(:7) &&&at&$line5.$eval$.() &&&at&$line5.$eval.$print() &&&at&sun.reflect.NativeMethodAccessorImpl.invoke0(Native&Method) &&&at&sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) &&&at&sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) &&&at&java.lang.reflect.Method.invoke(Method.java:483) &&&at&org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:788) &&&at&org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1056) &&&at&org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:614) &&&at&org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:645) &&&at&org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:609) &&&at&org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:796) &&&at&org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:841) &&&at&org.apache.spark.mand(SparkILoop.scala:753) &&&at&org.apache.spark.repl.SparkILoop.process$1(SparkILoop.scala:601) &&&at&org.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:608) &&&at&org.apache.spark.repl.SparkILoop.loop(SparkILoop.scala:611) &&&at&org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply$mcZ$sp(SparkILoop.scala:936) &&&at&org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:884) &&&at&org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:884) &&&at&scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135) &&&at&org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:884) &&&at&org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:982) &&&at&org.apache.spark.repl.Main$.main(Main.scala:31) &&&at&org.apache.spark.repl.Main.main(Main.scala) &&&at&sun.reflect.NativeMethodAccessorImpl.invoke0(Native&Method) &&&at&sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) &&&at&sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) &&&at&java.lang.reflect.Method.invoke(Method.java:483) &&&at&org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:303) &&&at&org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55) &&&at&org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) &14/07/05&19:53:27&INFO&MemoryStore:&Block&broadcast_0&stored&as&values&in&memory&(estimated&size&32.0&KB,&free&294.6&MB) &14/07/05&19:53:27&DEBUG&BlockManager:&Put&block&broadcast_0&locally&took&&78&ms &14/07/05&19:53:27&DEBUG&BlockManager:&Putting&block&broadcast_0&without&replication&took&&79&ms &res0:&org.apache.spark.rdd.RDD[String]&=&README.md&MappedRDD[1]&at&textFile&at&:13&git同步
对代码作了修改之后,如果并不想提交代码,那何将最新的内容同步到本地呢?
git&reset&--hard &git&pull&origin&master&Akka消息跟踪
追踪消息的接收者是谁,相对来说比较容易,只要使用好grep就可以了,当然前提是要对actor model有一点点了解。
还是举个实例吧,我们知道CoarseGrainedSchedulerBackend会发送LaunchTask消息出来,那么谁是接收方呢?只需要执行以下脚本即可。
grep&LaunchTask&-r&core/src/main&
从如下的输出中,可以清楚看出CoarseGrainedExecutorBackend是LaunchTask的接收方,接收到该函数之后的业务处理,只需要去看看接收方的receive函数即可。
core/src/main/scala/org/apache/spark/executor/CoarseGrainedExecutorBackend.scala:&&&&case&LaunchTask(data)&=& &core/src/main/scala/org/apache/spark/executor/CoarseGrainedExecutorBackend.scala:&&&&&&&&logError(&Received&LaunchTask&command&but&executor&was&null&) &core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedClusterMessage.scala:&&case&class&LaunchTask(data:&SerializableBuffer)&extends&CoarseGrainedClusterMessage &core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala:&&&&&&&&&&executorActor(task.executorId)&!&LaunchTask(new&SerializableBuffer(serializedTask))&小结
今天的内容相对简单,没有技术含量,做个记述,免得时间久了,不记得。
本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:zixun-group@ 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。
PalindromeLinkedList
PalindromeLinkedList 自己写的: # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def isPalindrome(self, h...
VoIP在普通数据网络上运行,而不是电话线,语音数据与其他类型的数据在公用一个网络,为了提高语音的质量我就改造优化网络,提高通话质量,以确保高质量的客户服务体验。延迟、抖动、丢包和突发是四个服务质量特性地址。 局域网 优先考虑语音通信,通过在路由器上设置服务质量(QoS)来区分VoIP和语音流量来实现,如果系统遇到瓶颈,语音通信需要在网络中优先于其他应用程序和Internet活动。保证有清晰...
docker-compose异常
根据docker官网提供的docker-compose安装教程,在ubuntu机器上安装最新的docker-compose,结果出现如下异常: Failed to connect to github-production-release-asset-2e65be. port 443: 连接超时 安装过程如下: $ sudo -i root@far:~# cur...
云服务器部署
Zookeeper集群
Zookeeper集群模式无法部署云服务器【java.net.BindException: 无法指定被请求的地址 (Bind failed)】的解决。 正文 在云服务器(阿里云、腾讯云)上部署Zookeeper集群模式时,无法成功的原因有很多,网上主要提到了端口被占用(未开放)和防火墙开启两种问题,类似的博客很多,本文不再赘述。 如果你已经针对上述两种情况做了修改依然没有成功,那么就可能出现...
决策树模型组合
机器学习中的算法(1)-决策树模型组合之随机森林与GBDT。 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等。但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的。 模型组合(比如说有Boosting,Bagging等)与决策树相关...
Zookeeper集群
shutdown日志
RegionServer异常
现象 将主机网线拔掉后,RegionServer过一段时间会shutdown掉,RegionServer的异常超时检测机制是由哪个参数控制的呢? Regionsever异常shutdown日志:
21:17:42,762 WARN [main-SendThread(OCSCloud07:9501)]zookeeper.ClientCnxn: Session 0x25ce...
若您要投稿、删除文章请联系邮箱:zixun-group@,工作人员会在5个工作日内回复。
售前咨询热线
服务与支持
账号与支持
关注阿里云
International> 博客详情
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&简单的文本语音朗读功能实现
实现这个功能主要用一个类,是TextToSpeech,废话不都少,直接上代码。总的来说效果一般,短语的停顿节奏不是很好。
界面很简单,一个Button ,一个EditView,就不贴代码了
public class ActivityResumptionArticle extends BaseActivity{
&& private TextToSpeech mSpeech =& &private Button btn =
& private EditTextView ev =
protected void onCreate(Bundle arg0) {&&super.onCreate(arg0);
&& setContentView(R.layout.activity_resumption_article);
//测试朗读功能&&btn = (Button) findViewById(R.id.but);
& ev = (EditView)findViewById(R.id.ev);&&mSpeech = new TextToSpeech(this, new OnInitListener() {&&&@Override&&&public void onInit(int status) {&&&& if (status == TextToSpeech.SUCCESS) {
&&&&&&&&&&&&&&&&&&&&//下面这句代码是主要的,设置语言,如果是英文的话,就用Locale.ENGLISH&&&&&&&&&&&&&&&&&&&& int result = mSpeech.setLanguage(Locale.CHINA);&&&&&&&&&&&&&&&&&&&& if (result == TextToSpeech.LANG_MISSING_DATA&&&&&&&&&&&&&&&&&&&&&&&&&&&& || result == TextToSpeech.LANG_NOT_SUPPORTED) {&&&&&&&&&&&&&&&&&&&&&&&& Log.e("lanageTag", "not use");&&&&&&&&&&&&&&&&&&&& } else {&&&&&&&&&&&&&&&&&&&&&&&& btn.setEnabled(true);&&&&&&&&&&&&&&&&&&&&&&&& mSpeech.speak("i love you", TextToSpeech.QUEUE_FLUSH,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& null);&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&& }
//进度监听器,有点粗糙,但够用了,记得在done后将mpeech shutdown&&mSpeech.setOnUtteranceProgressListener(new UtteranceProgressListener() {&&&@Override&&&public void onStart(String utteranceId) {&&&}&&&&&&@Override&&&public void onError(String utteranceId) {&&&&&&&}&&&&&&@Override&&&public void onDone(String utteranceId) {&&&&mSpeech.shutdown();&&&}&&});&& btn.setOnClickListener(new OnClickListener() {
&&&&&&&&&&&& @Override&&&&&&&&&&&& public void onClick(View v) {&&&&&&&&&&&&&&&& //&开始朗读
&&&&&&&&&&&&&&&& mSpeech.speak(ev.getText().toString(),&&&&&&&&&&&&&&&&&&&&&&&& TextToSpeech.QUEUE_FLUSH, null);&&&&&&&&&&&& }&&&&&&&& });
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥

我要回帖

更多关于 如何跟读 的文章

 

随机推荐