使用Marketplace Test Kit 解决录制视频AG_E_UNKNOWN_ERROR错误

  • 在应用中需要用摄像头拍摄视频,在WMAppManifest.xml中加入使用到的应用程序功能ID_CAP_ISV_CAMERA摄像头和”ID_CAP_MICROPHONE麦克风:
  •     <Capabilities>
          <Capability Name="ID_CAP_MEDIALIB" />
          <Capability Name="ID_CAP_MICROPHONE"/>
          <Capability Name="ID_CAP_ISV_CAMERA"/>
          <Capability Name="ID_CAP_NETWORKING"/>
          <Capability Name="ID_CAP_PHONEDIALER" />
        </Capabilities>
  • 其他具体实现过程参考Record Video in a Camera Application for Windows Phone来完成。
  • 完成后,使用模拟器和HD7调试,记录视频和声音都正常。提交程序到Marketplace, 经过了漫长的等待,程序通过验证正常发布,发布以后有用户反映无法录制视频,显示:AG_E_UNKNOWN_ERROR。
  • 经过使用不同型号机器部署xap文件和从市场下载反复测试。直接部署xap文件到手机正常,从marketplace下载的程序录制视频会显示AG_E_UNKNOWN_ERROR。
  • 看来问题出在了认证过程。到App Hub查看程序用到的功能显示如下:

    Required Device capabilities:
    data services
    music and video library
    phone calls
    Silverlight framework
    camera
    trial
    background transfer service
    camera

    出现了两次camera,但是没有microphone.看来这就是为什么从市场下载的程序无法录制视频的原因。

  • 随后查阅程序认证过程,原来,提交应用之后,微软会用工具检测程序的Capabilities,即使在WMAppManifest.xml中加入了相应的Capability,如果程序中没有使用到,相应的Capability会被删除。
  • 使用marketplace test kit 测试:右键点项目->Open marketplace test kit->Automated Tests ->Run Test。测试结束后Capability Validation结果如下:
  • [INFORMATION]:Capabilities used by application:
    ID_CAP_NETWORKING  
    ID_CAP_ISV_CAMERA  
    ID_CAP_MEDIALIB
    ID_CAP_PHONEDIALER.
  • 里面并不包含ID_CAP_MICROPHONE。既然你检测不到我录制视频的过程需要录音,那就告诉marketplace test kit,我确实要用到MICROPHONE,添加以下代码:
  • using Microsoft.Xna.Framework.Audio;

    Microphone _mic = Microphone.Default;
  • 再用marketplace test kit 测试,显示用到了ID_CAP_MICROPHONE。

    [INFORMATION]:Capabilities used by application:
    ID_CAP_NETWORKING  
    ID_CAP_MICROPHONE
    ID_CAP_ISV_CAMERA  
    ID_CAP_MEDIALIB
    ID_CAP_PHONEDIALER.

    重新提交程序更新到marketplace,下载使用,录制视频和声音正常。

  • This entry was posted in 未分类. Bookmark the permalink.

    One Response to 使用Marketplace Test Kit 解决录制视频AG_E_UNKNOWN_ERROR错误

    1. 香袭人 says:

      博客什么时候更新的啊 上次来还没更细呢 O(∩_∩)O

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注

    *

    您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>