var aa = uu.MySpeechSynthesis("你好啊"); //这个函数是我自己写的获取识别后返回的值;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
Byte[] BytesMessage = UTF8.GetBytes(aa);
MemoryStream ms = new MemoryStream(BytesMessage);
FileStream fs = new FileStream("d:\\text1.mp3",FileMode.OpenOrCreate);
BinaryWriter w = new BinaryWriter(fs);
w.Write(ms.ToArray());
ms.Close();
fs.Close();
是我写入方式不对还是什么原因,求大神解答,反馈回来的是一个string,里面全是乱码,转成 Byte全是数字;值肯定是获取到的,因为返回的不是错误码;
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
赞!
我们不一定能在第一时间回复您的问题,您能自己解决相信会有更大的收获;也感谢您解决问题之后在此分享解决方案。谢谢!
没人回答我,但是我问题解决了,还是因为基础知识不足造成的,我把我出现问题的原意解答下,希望能帮助遇见和我一样问题的人;
主要问题:就是把steam转成string,由于string类型的限制(这个可以自己查资料)所以数据会受损,导致无法播放或者使用;
解决方案:二进制流直接转成byte[],然后保存文件;
我直接把string转成mp3文件也不行
SpeechSynthesis uu = new SpeechSynthesis();
var aa = uu.MySpeechSynthesis("呵呵呵呵呵"); //这个函数是我自己写的获取识别后返回的值;
File.WriteAllText("d:/text2.mp3", aa);
来个人求带出坑