2016-08-19 5 views
1

2012年からVisual Studio 2015にアップグレードしました。 WAVファイルを私のプロジェクトのリソースにインポートすることができなくなりました。私のコードで受け入れられないMemoryStreamに変換することはできません。私は今何時間も探していて、本当にイライラしています。誰かがこれで私を助けてくれますか?私はこれらの記述に従って正確にファイルをインポートしています:How to: Import or Export ResourcesWAVファイルをVisual Studioにインポートできません

写真やその他の情報が必要な場合は教えてください。私はこの時点で本当に必死になっています。

+0

2012年までにどのオブジェクトタイプをインポートしましたか – FloatingKiwi

答えて

0

使用しているリンクはVS 2010です。

リソースファイルを開きます。デフォルトでは、左上のメニューは文字列です。小さなドロップダウンの矢印があります。これをクリックし、4番目のオプションはオーディオです。既存ファイルの追加をクリックすると、デフォルトで.wavファイルがフィルタリングされ、そのファイルが追加されます。

+0

既存のファイルを追加する場合は、リソースタイプを選択する必要はありません。リソースのタイプはファイルから推測されます。 – jmcilhinney

+0

はい、私の要点は、目的のタイプを選択すると、ファイルタイプフィルタが事前設定されていることでした。 –

+0

私は参照してください。私は、「デフォルトでは.wavファイルをフィルタリングする」ことに重点を置いていないと思うし、正しいタイプとして追加されるため、「とそのように追加する」ということになります。 – jmcilhinney

1

あなたはVS 2012でどのような経験をしていたのか正確にはわかりませんが、VS 2015、2013、2012をテストしたところ、まったく同じように動作しました。プロジェクトプロパティを開き、Resourcesページを選択し、Add Resourceドロップダウンをクリックし、Add Existing Fileを選択して、必要なWAVファイルにナビゲートしました。ファイルがリソースとして追加され、My.Settingsの対応するプロパティーがそのリソースをタイプUnmanagedMemoryStreamとして公開しました。私が言ったように、それはまったく同じように3つのバージョンすべてで起こった。あなたがVS 2012で何か違うものを得たら、VS 2012では何か違ったことをしました。あなたがしたことを私たちに語ったことはありません。

コードでは、正確にどのような種類のデータが必要ですか?たぶん、それはあまりにも良い情報でした。

Dim resourceStream = My.Resources.MyWavResource 
Dim length = CInt(resourceStream.Length) 
Dim resourceData(length - 1) As Byte 

resourceStream.Read(resourceData, 0, length) 

StreamByte配列から読み正確にどのようだ:それはByte配列のなら、あなたはそのようなそのリソースStreamから1を得ることができます。

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でそれを呼び出してください。

関連する問題