none
请教关系MemoryStream的问题? RRS feed

  • 问题

  • 程序的目的是相加1.mp3 和 2.mp3 到内存, 给dingdong发声。 现在无声音,请教错在哪?

     

    • 已编辑 升宝 2010年10月29日 1:14
    2010年10月29日 1:06

答案

全部回复

  • 代码发得不清楚,重发:
    
    System.Windows.Resources.StreamResourceInfo r1 = Application.GetResourceStream(new Uri("1.mp3",UriKind.Relative)); 
    System.IO.StreamReader sr1 = new System.IO.StreamReader(r1.Stream); 
    System.Windows.Resources.StreamResourceInfo r2 = Application.GetResourceStream(new Uri("2.mp3", UriKind.Relative));
    System.IO.StreamReader sr2 = new System.IO.StreamReader(r2.Stream);
    
    System.IO.MemoryStream stream = new System.IO.MemoryStream(); 
    System.IO.StreamWriter writer = new System.IO.StreamWriter(stream); 
    writer.Write(sr1.ReadToEnd()); 
    writer.Write(sr2.ReadToEnd()); 
    
    MediaElement dingdong = new MediaElement(); 
    dingdong.SetSource(stream); 
    LayoutRoot.Children.Add(dingdong); 
    dingdong.Play();
    
    2010年10月29日 1:14
  • 建议用xaml在App.xaml静态创建一个MediaElement元素用于播放声音文件。动态创建的MediaElement首次播放短小的声音文件,似乎会有问题,我以前也碰到过。后来好像解决了,但是第一次播放文件时,还是声音有点不是特别正常,也不知道为什么。

    2010年10月29日 6:54
  • 已经解决

     

    应该用r1.Stream.CopyTo(stream)便能解决。

    • 已标记为答案 Mog Liang 2010年11月1日 9:01
    2010年10月29日 9:23