网友分享 调用dll的语音朗读 不能变速,不好
调用 speeker.dll 这个文件被本人 放在文件里面,若有人需要可以 联系我
需要 mfc100ud.dll msvcr100d.dll
注:可以用D7 自带的ActiveX 里面的控件,可以调速,需要安装语音包。
unit Unit1; interface uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
ComboBox1: TComboBox;
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;
c: pwidechar;
m:widechar; implementation {$R *.dfm}
function D3DPERF_EndEvent:DWORD;stdcall;external'speeker.dll';
procedure CreatTTS(h:hwnd);stdcall;external'speeker.dll';
procedure Speak(var words:widechar);stdcall;external'speeker.dll';
procedure FreeMe();stdcall;external'speeker.dll';
function GetTokens_num:integer;stdcall;external'speeker.dll';
procedure SetToken_i(i:integer);stdcall;external'speeker.dll';
function GetToken_i(i:integer):PAnsichar;stdcall;external'speeker.dll';
procedure MySpeak(s:string);
begin
stringtowidechar(s,@m, length(s)*);
Speak(m);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
MySpeak(memo1.Lines.Text);
end; procedure TForm1.ComboBox1Change(Sender: TObject);
begin
SetToken_i(ComboBox1.ItemIndex);
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
freeme;
end; procedure TForm1.FormShow(Sender: TObject);
var
i:integer;
begin
CreatTTS(form1.Handle);
for i := to (GetTokens_num-) do
ComboBox1.AddItem(GetToken_i(i),nil);
end; end.
object Form1: TForm1
Left =
Top =
Caption = 'Form1'
ClientHeight =
ClientWidth =
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch =
TextHeight =
object Button1: TButton
Left =
Top =
Width =
Height =
Caption = #
TabOrder =
OnClick = Button1Click
end
object Memo1: TMemo
Left =
Top =
Width =
Height =
ImeName = ##'('##') - '#######
Lines.Strings = (
#####)
TabOrder =
end
object ComboBox1: TComboBox
Left =
Top =
Width =
Height =
ImeName = ##'('##') - '#######
TabOrder =
OnChange = ComboBox1Change
end
end
网友分享 调用dll的语音朗读 不能变速,不好的更多相关文章
- 主攻ASP.NET.4.5.1 MVC5.0之重生:Web项目语音朗读网页文本,简单语音提示浏览状态
第一步 添加SpeechLib.dll 下载SpeechLib.dll: 在项目中并且引用DLL using SpeechLib; using System.Threading; 第二步 调用并使用 ...
- C#语音朗读文本 — TTS的实现
TTS, Text To Speech的缩写,是使用语音朗读文本的技术.目前,在国内应用较多的是排队叫号系统 Windows 平台的TTS,通常使用的是微软自带的 Speech API. Window ...
- C#程序实现动态调用DLL的研究(转)
摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...
- 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0
作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...
- C#程序实现动态调用DLL的研究[转]
摘 要: 在< csdn 开发高手> 2004 年第 03 期中的<化功大法——将 DLL 嵌入 EXE >一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在 ...
- C#程序实现动态调用DLL的研究
摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...
- 使用JAVA实现语音朗读一段文本
需要做的工作: 1.下载 jacob-1.17-M2 或 jacob-1.18 2.解压jacob-1.17-M2 或 jacob-1.18 3.向工程里导入jacob.jar 4.将 jacob- ...
- C++ Builder创建和调用dll中的资源
程序开发中经常会用到一些图标.图片.光标.声音等,我们称它们为资源(Resource).当多个窗口用到同样的资源时,可以将这些公共的资源放到一个dll文件里调用,这样,由于定位资源比在磁盘中定位文件花 ...
- QT创建与调用Dll方法(包括类成员)--显式调用
看网上的好多关于QT调用Dll的方法,大部分都是调用函数的,并没有调用C++类成员的情况,即使是有,比如说: 使用Qt编写模块化插件式应用程序 Qt 一步一步实现dll调用(附源码)---(这一篇里没 ...
随机推荐
- python迭代器和生成器(3元运算,列表生成式,生成器表达式,生成器函数)
1.1迭代器 什么是迭代器: 迭代器是一个可以记住遍历的位置对象 迭代器对象从集合的第一个元素元素开始访问,直到所有元素被访问完结束,迭代器只能往前不会后退. 迭代器有两个基本方法:iter ,nex ...
- DiskFileItemFactory类的使用
将请求消息实体中的每一个项目封装成单独的DiskFileItem (FileItem接口的实现) 对象的任务由 org.apache.commons.fileupload.FileItemFact ...
- Python之路Python3【第零篇】Python2 & Python3区别持续更新~
print def print(self, *args, sep=' ', end='\n', file=None): # known special case of print "&quo ...
- 关于js中的时间处理
关于js编程, 主要是, 绝大部分是用 jquery. 但是, js原生的一些方法和属性也是要掌握的, 这个只是在 遇到的时候, 记一下就好了, 如: event的relatedTarget属性: 主 ...
- [译]Testing Node.js With Mocha and Chai
原文: http://mherman.org/blog/2015/09/10/testing-node-js-with-mocha-and-chai/#.ViO8oBArIlJ 为什么要测试? 在此之 ...
- 莫比乌斯环-vtkTriangleStrip
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
- JDI tutorial (trace example)
Components Debugger Interfaces / |--------------| / | VM | debuggee ----( |--------------| <----- ...
- Navigation Bar options for Android (based on photosomething project)
1, Tab控件即标签页,可以在一页中切换显示n页内容,要使用此效果,需要用到TabHost和Tabwidget类.(过时了?) Tab控件具有两种实现过程,一是在同一个Activity中切换显示不同 ...
- JQuery EasyUI DataGrid获取当前行或选中行
1.获取当前选中行,如果没有选中行,则返回 null var row = $('#gridID').datagrid('getSelected'); 2.获取当前所有选中行数据,返回元素记录的数组数据 ...
- hibernate中数据库方言
在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect. ...