2016-08-19 4 views
1

2012 년부터 Visual Studio 2015로 업그레이드 했으므로 나를 괴롭혔습니다. WAV 파일을 내 프로젝트의 리소스로 가져 오지 않아도 MemoryStream으로 변환 할 필요가 없습니다. 코드는이를 받아 들일 수 없습니다. 나는 지금 몇 시간을 찾고 있었고, 나는 정말로 좌절하고있다. 누군가 이걸로 나를 도울까요? 이 도구에 따라 정확하게 파일을 가져옵니다. How to: Import or Export ResourcesWAV 파일을 Visual Studio로 가져올 수 없습니다.

사진이나 기타 정보가 필요한 경우 알려주십시오. 나는이 시점에서 정말로 필사적이다.

+0

2012 년 이전으로 어떤 개체 유형을 가져 왔습니까? – FloatingKiwi

답변

0

사용중인 링크가 VS 2010.

리소스 파일을 엽니 다. 기본적으로 상단 왼쪽 메뉴는 문자열입니다. 그러나 작은 드롭 다운 화살표가 있습니다. 이것을 클릭하고 네 번째 옵션은 오디오입니다. 기존 파일 추가를 클릭하면 기본적으로 .wav 파일을 필터링하여 추가합니다.

+0

기존 파일을 추가하는 경우 리소스 유형을 선택할 필요가 없습니다. 자원의 유형은 파일에서 유추됩니다. – jmcilhinney

+0

예, 요점은 파일 유형 필터가 원하는 유형을 선택하면 미리 설정된다는 것입니다. –

+0

알겠습니다. 나는 그들이 "올바른 형식으로 추가 될 것이기 때문에"기본적으로 .wav 파일을 필터링 할 것입니다. 그리고 더 많은 것을 "추가 할 것입니다"라고 생각합니다. – jmcilhinney

1

VS 2012에서 어떤 경험을했다고 생각하는지 정확히 알 수는 없지만 방금 VS 2015, 2013 및 2012 테스트를 거쳤습니다. 모두 똑같은 방식으로 작동했습니다. 간단히 프로젝트 속성을 열고 리소스 페이지를 선택하고 리소스 추가 드롭 다운을 클릭하고 기존 파일 추가를 선택한 다음 원하는 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) 

을 당신이 Byte 배열에 어떤 Stream 읽기 방법을 정확히 그.

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에서 호출하십시오.

관련 문제