0

我是 Windows Phone 开发的新手,我正在尝试做一个简单的培训应用程序。

我希望我的应用程序加载一些我放入项目内文件夹中的音频文件。

这是一个简短的片段:

private void LoadSound(String SoundFilePath, out SoundEffect Sound)
    {

        // For error checking, assume we'll fail to load the file.
        Sound = null;
        try
        {                
            // Holds informations about a file stream.                
            StreamResourceInfo SoundFileInfo = Application.GetResourceStream(new Uri(SoundFilePath, UriKind.Relative));

我的文件夹结构类似于

- Project
    - Kits
        - TestKit_128
            - Bass_126.wav

并打电话

Button.setSound("Kits\\TestKit_128\\bass_126.wav");

抛出 aSystem.NullReferenceException因为在创建 URI 时找不到路径。(至少我是这么认为的!)

我应该怎么办?

当我第一次运行应用程序时,有什么方法可以从项目中的文件夹加载文件或将它们复制到 IsolatedStorage 中?

谢谢

编辑:

我刚刚用 WinRar 打开了 XAP 文件,没有“Kits”文件夹,所以我想我的问题是如何让它将文件夹添加到 XAP 文件中。

4

3 回答 3

0

尝试这个:

        Uri uri = new Uri("Kits/TestKit_128/bass_126.wav", UriKind.Relative);//Above the Kits folder only the project itself. 
        StreamResourceInfo sr = Application.GetResourceStream(uri);

        try
        {
            using (Stream stream = sr.Stream)
            {
                //working here with your data image or wav or whatever you want from URI
            }
        }
        catch (Exception)
        {
        }

这是项目内部的资源,对我有用。另外关于“内容”的先前注释是正确的,没有它就无法工作。我认为问题是地址中的双斜杠。

于 2013-01-15T18:57:06.527 回答
0

您是否将 wav 文件的构建操作设置为“内容”?右键单击 WAV 文件 --> 属性 --> 构建操作 == 内容。

于 2013-01-15T18:22:01.567 回答
0

我认为您必须将文件夹和文件添加到您的项目中(我假设您使用的是 Visual Studio)。尝试右键单击您的解决方案并添加现有对象(在本例中为您的 wav 文件)。

于 2013-01-15T18:34:10.840 回答