我从2012年开始升级到Visual Studio 2015,它让我彻底搞砸了。我不能再将WAV文件导入到我的项目资源中,而不将它们变成MemoryStream,我的代码不会接受它。我现在一直在寻找几个小时,我真的很沮丧。有人请帮我这个吗?我正在根据这些说明完全导入文件:How to: Import or Export Resources
如果您需要图片或其他信息,请告诉我。我现在非常绝望。
答案 0 :(得分:1)
我不确切地知道你认为自己在VS 2012中有什么样的体验,但我刚刚测试了VS 2015,2013和2012,他们的工作方式完全相同。我只需打开项目属性,选择Resources页面,单击Add Resource下拉列表,选择Add Existing File并导航到我想要的WAV文件。该文件已添加为资源,My.Settings
的相应属性将该资源公开为类型UnmanagedMemoryStream
。正如我所说,在所有三个版本中发生的情况完全相同。如果你在VS 2012中有不同的东西,那么你在VS 2012中做了不同的事情。你还没告诉我们你做了什么,所以我们只能猜测。
您的代码究竟是什么类型的数据?也许那也是提供的好信息。如果它是Byte
数组,那么您可以从该资源Stream
获取一个,如下所示:
Dim resourceStream = My.Resources.MyWavResource
Dim length = CInt(resourceStream.Length)
Dim resourceData(length - 1) As Byte
resourceStream.Read(resourceData, 0, length)
这正是您从任何Stream
到Byte
数组的读取方式。如果您需要多次执行此操作,可以将其放入方法中:
Private Function GetStreamData(stream As Stream) As Byte()
Dim length = CInt(stream.Length)
Dim data(length - 1) As Byte
stream.Read(data, 0, length)
Return data
End Function
您可以这样称呼它:
Dim data As Byte()
Using resource = My.Resources.MyWavResource
data = GetStreamData(resource)
End Using
您甚至可以将其作为扩展方法编写,然后在Stream
本身上调用它。
答案 1 :(得分:0)
您使用的链接是VS 2010.
打开资源文件。默认情况下,左上角菜单是字符串;但是有一个小的下拉箭头。单击此按钮,第四个选项是Audio。如果您现在单击“添加现有文件”,则默认情况下会过滤.wav文件,并将其添加为。