在线文字转语音网站有时候获得的是一串“data:audio”开头的Base64编码字符串,因此写了一个Delphi程序来转换成mp3保存。
=======================================
界面如下:
=======================================
源码如下:
unit Unit2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm2 = class(TForm)
mem: TMemo;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses System.NetEncoding,System.IOUtils;
{$R *.dfm}
//音频字符串以:data:audio开头,要去掉这个“data:audio”标志,后头的字符串拷贝进mem里
procedure TForm2.Button1Click(Sender: TObject);
var
Bytes:TBytes;
Stream:TBytesStream;
strText:String;
begin
strText:=mem.Text;
with System.NetEncoding.TBase64Encoding.Create do
try
Bytes := Decode(BytesOf(strText)); //或者WideBytesOf(strText);
//Bytes := Decode(System.IOUtils.TFile.ReadAllBytes('sound.txt'));//如果是txt文件就这样load进来
finally
Free;
end;
Stream := TBytesStream.Create(Bytes);
try
Stream.SaveToFile('D:\\sound.mp3');
finally
FreeAndNil(Stream);
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Close();
end;
end.