Thread CGI und Audio: audiofile wird nicht komplett abgespielt (1 answers)
Opened by bo at 2007-06-12 12:02

bo
 2007-06-12 13:25
#185 #185
User since
2006-05-09
76 Artikel
BenutzerIn
[default_avatar]
tja, man sollte schon die grösse mit angeben... ;)
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!c:\perl\bin\perl.exe
use strict;
use warnings;
use Win32::SAPI5;
use CGI;
$| = 1;

my $audiofile = 'test.wav';

my $q = new CGI();
my $text = $q->param('text') || qq(ein text, der zu lang ist, um ganz abgespielt zu werden);

# setup Microsoft Speech API
my $stream = Win32::SAPI5::SpFileStream->new();
$stream->Open($audiofile, 3, 0); # 3 = SSFMCreateForWrite

my $voice = Win32::SAPI5::SpVoice->new();
$voice->SetProperty(AudioOutputStream => $stream->GetObject);
$voice->Speak($text);
$stream->Close();

my $size = (stat($audiofile))[7];
print $q->header(-type => "audio/x-wav", -Content_length => $size);

open my $fh, '<', $audiofile or die $!;
binmode $fh;
binmode STDOUT;
while (<$fh>) { print }
close($fh);

View full thread CGI und Audio: audiofile wird nicht komplett abgespielt