Text2Speech 错误,如何直接在浏览器中输入 URL 来播放音频?
Text2Speech Error, How can I play audio by entering URL into browser directly?
我可以使用 text2speech,但我想使用 GET
方法,我该怎么做?
我的意思是我想通过 URL 像这样转换 text2speech:
http://localhost/txt2speech/v.php?textbox=Hello Word
如果我在浏览器中输入 URL,我希望它能播放音频。
我可以成功地将文本转换为语音,但问题是它播放的是同一个文件。
示例
如果我发送http://localhost/txt2speech/v.php?textbox=HelloWord
然后如果我发送 http://localhost/txt2speech/v.php?textbox=SecondString
它播放 HelloWorld,但我希望它播放 SecondString
但是,如果我尝试使用不同的 window,它将播放 SecondString
文件。
我还有一个问题。如果我传递一个带有 space 的字符串,它将不起作用。
示例
http://localhost/txt2speech/v.php?textbox=Hello This is sentence with spaces
这些是我正在使用的文件:
index.php
<html>
<body>
<h2>Text to Speech PHP Script</h2>
<form action="v.php" method="GET">
Enter your text: <input name="textbox"></input>
</form>
</body>
</html>
v.php
<?php
if($_GET){
$text = substr($_GET['textbox'], 0, 100);
$file = 'filename';
$file = "audio/" . $file . ".mp3";
$mp3 = file_get_contents("https://translate.google.com.vn/translate_tts?ie=UTF-8&q=$sname+&tl=en&client=tw-ob");
file_put_contents($file, $mp3);
}
?>
<?php if($_GET){?>
<audio controls="controls" autoplay="autoplay">
<source src="<?php echo $file; ?>" type="audio/mp3" />
</audio>
<?php }?>
如果您的 post 代码有效,您可以更改 post 以获得如下所示:
index.php
<html>
<body>
<h2>Text to Speech PHP Script</h2>
<form action="v.php" method="get">
Enter your text: <input name="textbox"></input>
</form>
<?php if($_GET){?>
<audio controls="controls" autoplay="autoplay">
<source src="<?php echo $file; ?>" type="audio/mp3" />
</audio>
<?php }?>
</body>
</html>
v.php
<?php
if($_GET){
$text = substr($_GET['textbox'], 0, 100);
$file = 'filename';
$file = "audio/" . $file . ".mp3";
# Convert input to proper encoded url
$sname = urlencode ( $sname );
$mp3 = file_get_contents("https://translate.google.com.vn/translate_tts?ie=UTF-8&q=$sname+&tl=en&client=tw-ob");
file_put_contents($file, $mp3);
}
?>
为防止空格破坏您的 url,请使用 php 中的 urlencode 函数。
我可以使用 text2speech,但我想使用 GET
方法,我该怎么做?
我的意思是我想通过 URL 像这样转换 text2speech:
http://localhost/txt2speech/v.php?textbox=Hello Word
如果我在浏览器中输入 URL,我希望它能播放音频。
我可以成功地将文本转换为语音,但问题是它播放的是同一个文件。
示例
如果我发送http://localhost/txt2speech/v.php?textbox=HelloWord 然后如果我发送 http://localhost/txt2speech/v.php?textbox=SecondString
它播放 HelloWorld,但我希望它播放 SecondString
但是,如果我尝试使用不同的 window,它将播放 SecondString
文件。
我还有一个问题。如果我传递一个带有 space 的字符串,它将不起作用。
示例
http://localhost/txt2speech/v.php?textbox=Hello This is sentence with spaces
这些是我正在使用的文件:
index.php
<html>
<body>
<h2>Text to Speech PHP Script</h2>
<form action="v.php" method="GET">
Enter your text: <input name="textbox"></input>
</form>
</body>
</html>
v.php
<?php
if($_GET){
$text = substr($_GET['textbox'], 0, 100);
$file = 'filename';
$file = "audio/" . $file . ".mp3";
$mp3 = file_get_contents("https://translate.google.com.vn/translate_tts?ie=UTF-8&q=$sname+&tl=en&client=tw-ob");
file_put_contents($file, $mp3);
}
?>
<?php if($_GET){?>
<audio controls="controls" autoplay="autoplay">
<source src="<?php echo $file; ?>" type="audio/mp3" />
</audio>
<?php }?>
如果您的 post 代码有效,您可以更改 post 以获得如下所示:
index.php
<html>
<body>
<h2>Text to Speech PHP Script</h2>
<form action="v.php" method="get">
Enter your text: <input name="textbox"></input>
</form>
<?php if($_GET){?>
<audio controls="controls" autoplay="autoplay">
<source src="<?php echo $file; ?>" type="audio/mp3" />
</audio>
<?php }?>
</body>
</html>
v.php
<?php
if($_GET){
$text = substr($_GET['textbox'], 0, 100);
$file = 'filename';
$file = "audio/" . $file . ".mp3";
# Convert input to proper encoded url
$sname = urlencode ( $sname );
$mp3 = file_get_contents("https://translate.google.com.vn/translate_tts?ie=UTF-8&q=$sname+&tl=en&client=tw-ob");
file_put_contents($file, $mp3);
}
?>
为防止空格破坏您的 url,请使用 php 中的 urlencode 函数。