2012-11-14 110 views
0

我正在嘗試從Bing翻譯中整合Speak方法。 http://msdn.microsoft.com/en-us/library/ff512420.aspxC#Soundplayer無法播放WAV流

使用PHP的確切示例代碼,我可以播放wav文件。但是,當我使用我的Sharepoint Web部件的C#示例代碼時,我根本無法播放wav文件。

我錯過了什麼嗎?

private void SpeakMethod(string authToken) 
     { 
      string toText = "sun"; 
      string toLang = "en"; 
      //string uri = "http://api.microsofttranslator.com/v2/Http.svc/Speak?text=" + toText + "&language=" + toLang +"&format=" + HttpUtility.UrlEncode("audio/wav") + "&options=MaxQuality"; 
      string uri = "http://api.microsofttranslator.com/v2/Http.svc/Speak?text=welcome&language=en&format=" + HttpUtility.UrlEncode("audio/wav") + "&options=MaxQuality"; 
      HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri); 
      httpWebRequest.Headers.Add("Authorization", authToken); 
      WebResponse response = null; 
      try 
      { 
       response = httpWebRequest.GetResponse(); 
       using (Stream stream = response.GetResponseStream()) 
       { 
        using (SoundPlayer player = new SoundPlayer(stream)) 
        { 
         player.PlaySync(); 
         alpha.Text = "alpha"; 
        } 
       } 
      } 
      catch 
      { 

       throw; 
      } 
      finally 
      { 
       if (response != null) 
       { 
        response.Close(); 
        response = null; 
       } 
      } 
     } 
+0

「我無法播放該文件」對於那裏有什麼問題沒有多說...有錯誤消息嗎?當你運行你的代碼時究竟發生了什麼?調試是否提供有關錯誤的提示? – Alex

+0

我在.NET前臺工作,所以我有另一個.ascx文件,模擬翻譯器的設計視圖。我已經完成了檢測和翻譯方法的工作,我將在一個文本框中輸入一些文本,並將翻譯後的文本生成到另一個文本框中。我旁邊有一個按鈕,它調用上面的Speak Method,調用微軟的服務器,它應該返回一個wav流。使用上述說話方法,它也應該立即播放wav聲音。 – user1140233

+0

但是,當我點擊按鈕時,聽不到任何聲音,並且我確定我的聲音正在工作,並且我可以在沒有問題的情況下在bing翻譯器的網站上執行相同的操作。沒有明顯的提示,因爲沒有任何反應。我試圖注入一個標籤「alpha.Text =」alpha「;」只是爲了確保代碼在Soundplayer中運行,並且確實打印了標籤。 – user1140233

回答

0

我有同樣的問題,但我的WAV生成的文件工作正常,在我的WPF代碼在Windows 7計算機,但如果我用Zune播放器打開它由於某種原因,它給了我一個錯誤,與Windows Media Player在Windows 7中它也可以正常工作。但在Windows XP計算機中,它不起作用。

您是否試圖用媒體播放器或在不同的操作系統和瀏覽器中打開生成的wav文件?