locked
OpenNetCF Recorder.RecordFor MemoryStream RRS feed

  • 问题

  • 用OpenNetcf做录音放音软件,为了速度快一点,Recorder.RecordFor(Stream stream, short seconds)的stream参数用了MemoryStream对象,录音结束,执行Recorder.Stop()函数,再用Player.Play(stream)函数时,抛出NullReferenceException,网上查了相关资料,说是OpenNetcf在处理Memorystream上的一个bug,请问到底怎么回事,怎么解决

    补充:在调用了Recorder.Stop()函数后,为何检验Recorder.Recording属性仍旧为true

    2010年12月29日 6:47

答案

全部回复

  • 您好 TheZ2012,

      我建议您先Debug或dump你的stream是否为空,如果您确定为OpenNetCF的bug话,我建议您提交bug到:

      https://connect.microsoft.com/

     

     


    Brave Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月30日 7:07
    版主
  • 现在测试的结果是这样的。在录音结束后,该库的确会把我放入的stream dispose掉,这让我很莫名,这意味着我不能重用这个stream。

    所以我很极端的在Player.Play(stream)前直接new了一个memorystream,但执行的结果是抛出nullreferenceexception异常,如果正常运行,或抛出其他类似wrongformatexception异常还可以接受,但它还是null,这个就无法理解了

    2010年12月30日 7:31
  • 你好 Thez2010,

      还有一定请注意,移动设备有32M虚拟内存的限制.


    Brave Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月30日 8:23
    版主
  • 我应该不会超过32M吧,都是几十k的东西
    2010年12月30日 8:36
  • 可以试试这个:

    while (myRecorder.Recording)

    {

    myRecorder.Stop();

    System.Windows.Forms.Application.DoEvents();
    }

    这样后属性就变了,我也不知道为什么。。

    还有我遇到个问题是,recorder的时间到后,也不会变属性。。只有手动stop,它才停止。不知道为什么,纠结。。

    2010年12月30日 12:58
  • System.Windows.Forms.Application.DoEvents();   这句话一定要加吗,我试过不加这句话的,就是一个阻塞,然后它就一直阻塞在里面,没出来过,还有一个不好的地方RecordFor的第二个参数是秒,不是毫秒,让我有些处理很不好,最大的问题当然就是MemoryStream不能用
    2010年12月30日 14:15
  • 你好,

      这个问题和你有点类似,

      http://community.opennetcf.com/forums/p/9429/9429.aspx

      为了更快更好的解决的问题,我建议您在到下面的论坛OpenNetCF的论坛去问问:

       http://community.opennetcf.com/forums/

     

     新年快乐!

     


    Brave Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月31日 6:58
    版主
  • 谢谢,新年快乐
    2010年12月31日 16:42