2013-02-26 2 views
0

나는 내 자신의 10 MP3를 포함시키려는 Windows Phone 8 응용 프로그램을 가지고 있습니다. 나는에/자산을 포함하지만,Windows Phone 8 앱의 내 정적 콘텐츠는 어디에 있습니까?

같은 호출은
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) 
{ 
    songs = store.GetFileNames("*.mp3").ToList(); 
    Console.WriteLine("Found {0} files ", songs.Count()); 
} 

내 가게에서 MP3 파일의 # 내가 내용에서, 자산, 자원을 MP3를 퍼팅 시도 0

것을 반환 유지하고 항상 복사를 설정 옵션을 사용하지만 아무 소용이 없습니다.

도움이 될 것입니다.

+0

가능한 중복 [프로젝트 폴더에서 파일을 읽는 방법?] (http://stackoverflow.com/ 질문/6531968/how-to-read-files-from-project-folders) – MarcinJuraszek

+0

지적 해 주셔서 고맙지 만 작동하지 않습니다. 사용 된 샘플 코드는 다음과 같습니다. string resourcePath = @ "/ PhoneApp1; component /자원/"; 어셈블리 어셈블리 = Assembly.GetExecutingAssembly(); string [] resources = assembly.GetManifestResourceNames(); 목록 파일 = 새 목록 (); foreach는 (resourcePath에서 문자열 리소스) { 경우 (resource.EndsWith ("MP3")) // { } } – techtinkerer

답변

1

당신이 "포함 리소스"로 파일을 설정하는 경우, 당신은 파일의 목록을 얻을 수 있습니다 런타임에. 여기

는이 작업을 수행 할 수있는 방법입니다 :

  1. "포함 리소스"로 파일의 빌드 작업을 설정합니다.
  2. 사용 Assembly.GetCallingAssembly(). GetManifestResourceNames() 자원의 이름을 열거하는

    string[] GetResourcesNames() 
    { 
        return Assembly.GetCallingAssembly().GetManifestResourceNames(); 
    } 
    
+0

이 솔루션의 단점은 파일이 DLL에 포함된다는 것입니다. 따라서 많은 양의 파일이있는 경우 앱로드 시간이 오래 걸릴 수 있습니다. ( –

+0

감사합니다.) 그래서 내 앱이 100 개 또는 200 개의 파일을 날려 버리면 이상적인 방법은 무엇일까요? – techtinkerer

0

파일이 앱 격리 된 저장소에 복사되지 않습니다,하지만 당신은 URI로 그들을 얻을 수 있습니다

var mymp3file = new Uri("Assets/HomersDoh.mp3", UriKind.RelativeOrAbsolute); 
+0

나는 MP3 파일의 무리를로드해야합니다. 내 mp3 목록은 10에서 50까지 갈 수 있습니다. 따라서 파일 이름별로 각각을로드하고 싶지는 않습니다. 로드가 필요합니다. "Assets/* .mp3"솔루션 – techtinkerer