C#.NET中的MP3stream媒体4.5.1在三星6S上的MVC 5.2.2

我必须使用来自ReadSpeaker的TTS(Text to Speak)SaaS来将audio添加到我正在开发的应用程序中。

现在我们正在使用的基本SCAPI账户有一个基本的设置,只需设置一个URL并获取我们需要输出的MP3stream。 由于服务密钥在URL中,所以我们不能在前端使用它,所以我们需要通过我们的服务器来传输文件。

一切正常,直到我testing了三星6S的开发代码。 那里根本没有玩,但是服务自己的链接工程,即这个工程:

<audio controls> <source src="http://tts.readspeaker.com/a/speak?key=[ServiceKey]&lang=en_uk&voice=Female01&audioformat=mp3&volume=200&text=test text 2" type="audio/mp3"> Your browser does not support the audio element. </audio> 

而通过我们的服务器完全相同的代码不会在三星6S与控制器中的stream源相同的链接。

我已经通过几种不同的方式在服务器上stream式传输文件,但每次在三星6S(全新开箱即用,无MODS)时都会丢失。

这是我使用的代码。

空白控制器:

 string url = "http://tts.readspeaker.com/a/speak?key=[ServiceKey]&lang=en_uk&voice=Female01&audioformat=mp3&volume=200&text=test text 2"; HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)HttpWRequest.GetResponse(); Stream stream = response.GetResponseStream(); MemoryStream ms = new MemoryStream(); stream.CopyTo(ms); Response.AddHeader("Content-Type", response.ContentType); Response.AddHeader("Content-Length", response.ContentLength.ToString()); Response.AddHeader("Access-Control-Allow-Origin", "*"); Response.AddHeader("Connection", "close"); Response.Flush(); audioData = ms.ToArray(); Response.BinaryWrite(audioData); Response.End(); 

标准的FileStreamResult ,我采取上述代码的MemoryStream并通过它发送,即与FileStreamResult控制器,而不是手动设置标题:

 return new FileStreamResult(ms, response.ContentType); 

甚至是我在这里find的一个修改的FileStreamResult ,它允许实际的URLstream式传输,而不需要下载到服务器。

我也用这个方法从ReadSpeaker获取字节数据:

 byte[] audioData; using (WebClient client = new WebClient()) { audioData = client.DownloadData("http://tts.readspeaker.com/a/speak?key=[ServiceKey]&lang=en_uk&voice=Female01&audioformat=mp3&volume=200&text=test text 2"); } 

然后无数的方式来输出它,但总是结果是一样的,工作正常的一切(即使是IE7,而不是与audio标签,但仍然),但不是与三星6S。

我不知道我必须在这里错过一些非常基本的东西,因为我所尝试过的一切都很好,但在三星6S上没有任何问题。 即使在其他高端Android的,如LG G4它的作品,但在6S …什么都没有,喷射audio标签中的直接服务链接工作得很好?

所以我知道我一定在这里做错了什么,有什么想法?

Solutions Collecting From Web of "C#.NET中的MP3stream媒体4.5.1在三星6S上的MVC 5.2.2"