powershell自动朗读听写脚本实例
因为要抄写大量的学习强国之类资料。反复抬头看电脑屏幕、低头于笔记本上抄写。资料文本存于read.txt,遂写一段脚本用于朗读听写,自娱自乐。
分享到论坛,路过的朋友可以帮忙润色就更好了。[code]
add-type -assemblyname system.speech
$speaker=new-object system.speech.synthesis.speechsynthesizer
$speaker.rate=-5
$speaker.volume=100
#添加类型,定义语音速率音量。
function wait-key{
#10秒内获取按键,根据按键决定重复朗读或者暂停或者快速跳到下一句。
while($counter++ -lt 10){
if($host.ui.rawui.keyavailable){
$null=$key=$host.ui.rawui.readkey("noecho,includekeyup").character
break
}
else{
write-host $counter
sleep -s 1
}
}
return($key)
}
$txt=gc read.txt
$txt.split(',。!;?')|%{
$_
$speaker.speak($_)
if($_.length -lt 6){
sleep -s 5
#短句子,停顿5秒用于抄写
}else{
$key=wait-key
#长句子,停顿10秒用于抄写。
if($key){
#10秒等待期间,按数字暂停,按点号跳过等待,其他键重复上一句。
if($key -match '^\d$'){
cmd /c pause
}elseif($key -eq "."){
$key
}else{
$speaker.speak($_)
sleep -s 5
}
rv key
}
}
}[/code]
页:
[1]