2013-04-26 112 views
0

我試圖做一個簡單的PHP腳本,它的文本來自用戶的輸入,然後使用Mac的終端「說」功能(文本到speach)朗讀課文說的功能。PHP - 執行從MAC外殼/終端

唯一的資源我已經能夠找到其中專門討論這是來自2003

一個非常簡單的解決方案,主題是建議:

<html><body> 
    <form method="post"> 
    Say: <input type="text" name="text" size="40"> 
    <input type="submit"> 
    </form> 
    </body></html> 

    <?php 
     if (isset($_POST['text'])) { 
     exec('say "'.$_POST['text'].'"'); 
     } 
    ?> 

我一直在使用,而不是「高管」「系統」沒有運氣嘗試。 我真的不知道如何解決這個問題。它可以是訪問而不是代碼?如何找出爲什麼它不起作用的任何幫助將是偉大的,謝謝。

+0

它只會玩運行PHP腳本而不是客戶端PC上的服務器上的聲音? – Dave 2013-04-26 15:26:57

+0

我希望它可以在客戶端PC上播放。 – user2324390 2013-04-26 15:29:02

+0

php是一種服務器端編程語言。如果您在腳本中使用exec函數,則該命令在服務器中執行。你不能用php來做到這一點。嘗試使用JavaScript有很多文本到語音庫http://goo.gl/R5MCH。 – LuckyStarr 2013-04-26 15:38:47

回答

1

一個解決方案是使用命令說,允許以節省一個音頻文件輸出的-o選項。在link有一個bash腳本,它可以從文件文本創建一個mp3文件;讀取適配腳本以從字符串中取出字符串非常簡單。在你允許用戶下載或用這個簡單的代碼 <embed height="50" width="100" src="example.mp3"> 與之前創建的MP3文件的路徑替換example.mp3在網頁上執行。

+0

這是say命令的[官方手冊頁](http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/say.1.html) – LuckyStarr 2013-04-26 16:07:56