2016-03-15 37 views
0

我一直有問題試圖讓我的web服務在azure上工作,但現在代碼似乎運行良好。 (我認爲) 我有以下簡單的語音生成代碼返回鏈接到Azure webservice中生成的音頻

public speak() 
{ 
    SpeechSynthesizer synth = new SpeechSynthesizer(); 
    synth.SetOutputToDefaultAudioDevice(); 
    synth.SetOutputToWaveFile("myfile.wav"); 
    synth.Speak("hello"); 
    synth.SetOutputToNull(); 
    synth.Dispose(); 
} 

在我的本地Azure的模擬器時調用這個方法,我得到UnauthorizedAccessException不能訪問這個位置。如何讓模擬器內運行的web服務在這個位置寫入?

在Azure上運行時,我必須做什麼,以便我可以返回一個URL作爲web服務在其自己的環境中運行,我不知道如何獲取這個「實例」的信息/ IP/DNS,我的代碼在裏面運行。

回答

0

您是對的,它會在本地硬件上播放語音音頻,在這種情況下,它將成爲Microsoft Azure中的虛擬機。這就是爲什麼你沒有從Web服務返回它。

您需要將語音音頻輸出到要從Web服務方法返回的文件中。它看起來像SpeechSynthesizer.SetOutputToWaveStream可能有助於這一點。