网友分享 调用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)*2);
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 := 0 to (GetTokens_num-1) do
  ComboBox1.AddItem(GetToken_i(i),nil);
end;

end.
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = ‘Form1‘
  ClientHeight = 241
  ClientWidth = 464
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = ‘Tahoma‘
  Font.Style = []
  OldCreateOrder = False
  OnDestroy = FormDestroy
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 40
    Top = 200
    Width = 113
    Height = 33
    Caption = #35835
    TabOrder = 0
    OnClick = Button1Click
  end
  object Memo1: TMemo
    Left = 32
    Top = 16
    Width = 329
    Height = 105
    ImeName = #20013#25991‘(‘#31616#20307‘) - ‘#25628#29399#25340#38899#36755#20837#27861
    Lines.Strings = (
      #35201#35835#30340#25991#23383)
    TabOrder = 1
  end
  object ComboBox1: TComboBox
    Left = 40
    Top = 144
    Width = 145
    Height = 21
    ImeName = #20013#25991‘(‘#31616#20307‘) - ‘#25628#29399#25340#38899#36755#20837#27861
    TabOrder = 2
    OnChange = ComboBox1Change
  end
end
时间: 2024-10-23 20:45:20

网友分享 调用dll的语音朗读 不能变速,不好的相关文章

iOS AV Foundation 二维码扫描 04 使用合成语音朗读二维码内容

前一节,我们为程序识别到的二维码提供了可视化的显示,这一节,我们使用合成语音朗读扫描到的二维码的内容. 修改ViewController.m,定义以下实例变量并进行初始化: AVSpeechSynthesizer *_speechSynthesizer; _speechSynthesizer = [[AVSpeechSynthesizer alloc] init]; 初始化语音合成器十分简单.语音合成器会控制对每个语音数据的回放和顺序.初始化完成后,Metadata output将触发语音合成器

C#语音朗读文本 — TTS的实现

TTS, Text To Speech的缩写,是使用语音朗读文本的技术.目前,在国内应用较多的是排队叫号系统 Windows 平台的TTS,通常使用的是微软自带的 Speech API. Windows XP 自带的是 Speech API 5.1,默认是只支持英文的.如果要朗读中文,需要安装LangPack,里面支持简体中文,不过,是个男生的发音. 从Vista开始,默认自带的 Microsoft Speech API 5.3,效果好了很多,可惜不支持XP,郁闷 下面,说一下 C# 利用 TT

C#程序实现动态调用DLL的研究(转)

摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载,程序退出后实现临时文件的自动删除,从而为解决“DLL Hell”提供了一种解决方案.这是一个很好的设计思想,而且该作者也用C++实现了,在Internet上也有相似的VB程序,但在某一技术论坛上提起这种设计方法时,有网友提出:“这种方法好是好,但就是启动

基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0

作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/  感觉我要火~~这比我是装定了!! 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数据库.以及TTS文本识别语音单词朗读的一款软件. 第一款软件的sql数据库软件的编写:http://www.cnblogs.com/xiaobo-Linux/p/4676950.html 现在来讲解我的第二款高大上的代码: 这个是.pro的代码,其中axconta

最近建了一个.net源码共享群,群共享有大量网友分享的.net(C#)商业源码

.net源码共享群 324087998. 本群创建于2013/6/21: 群里都是.net(C#)程序开发人员,群共享有大量网友分享的.net(C#)商业源码.比如:DTCMS旗舰版,hishop微分销,shopnum微分销,多用户微信公众平台开发,力软信息化快速开发框架.源码研究,源码共享,.net反编译破解,.net破解反编译,技术研究交流! 之前在CSDN上发了一下,现在群里有六七百人了.马上就满员了,第二个群又要开始了.群友都是很活跃的,现在群等级满级了. 这是之前文章内容: 由于工作需

C#程序实现动态调用DLL的研究

原文:C#程序实现动态调用DLL的研究 摘  要:在<csdn开发高手>2004年第03期中的<化功大法--将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载,程序退出后实现临时文件的自动删除,从而为解决"DLL Hell"提供了一种解决方案.这是一个很好的设计思想,而且该作者也用C++实现了,在Internet上也有相似的VB程序,但在某一技术论坛

近期建了一个.net源代码共享群,群共享有大量网友分享的.net(C#)商业源代码

本群创建于2013/6/21: 群里都是.net(C#)程序开发者,群共享有大量网友分享的.net(C#)商业源代码.比方:DTCMS旗舰版,hishop微分销,shopnum微分销.多用户微信公众平台开发,力软信息化高速开发框架.源代码研究,源代码共享..net反编译破解,.net破解反编译.技术研究交流. 因为工作须要.想借鉴DTCMS 动力启航CMS的一些代码,比方微信开发,商品规格等设计.没想到DTCMS仅仅有旗舰版才有那些功能,好吧.无奈去淘宝看了一下二手代码,最廉价的好像也要50人命

非常简单的语音朗读功能

不知道大家有没有发现,在System.Speech.Synthesis命名空间下有一个SpeechSynthesizer类,它可以指定的文本内容进行语音朗读,而且,这个类用起来也严重简单,简单到什么程度? 试试看. 首先,新建一个项目,随便你建什么项目,反正能测试即可. 然后,添加对System.Speech程序集的引用. 引入System.Speech.Synthesis命名空间,最后,看好了,几行代码搞定. private void button1_Click(object sender,

C#程序实现动态调用DLL的研究[转]

摘   要: 在< csdn 开发高手> 2004 年第 03 期中的<化功大法——将 DLL 嵌入 EXE >一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载,程序退出后实现临时文件的自动删除,从而为解决“ DLL Hell ”提供了一种解决方案.这是一个很好的设计思想,而且该作者也用 C++ 实现了,在 Internet 上也有相似的 VB 程序,但在某一技术论坛上提起这种设计方法时