2014-04-08 3 views
0

휴대 전화의 MP3 컬렉션을 처리하기 위해 MediaLibrary를 사용하여 WP8 용 MP3 플레이어 앱을 작성하는 게임이 있습니다. 내가 VS2013의 전화 에뮬레이터에 결과를 테스트 할,하지만 난 다음 코드를 사용하는 경우 :WP8/VS2013 MediaLibrary 노래 모음이 비어 있습니다.

using (MediaLibrary library = new MediaLibrary()) 
     { 
      SongCollection songs = library.Songs; 
      Song song = songs[0]; 
      MediaPlayer.Play(song); 
     } 

노래 모음이 비어, 아마도 VS 노래와 미디어 라이브러리에 대한 지식이 없기 때문에 in.

가짜 medialibrary를 사용하는 에뮬레이터 또는 VS에서 Windows의 미디어 라이브러리를 사용하여 테스트 할 수있는 방법이 있습니까? 그냥 진행하기 전에 코드를 보거나 듣고 싶습니다.

답변

1

해결 방법을 찾을 수있었습니다!

앱의 자산에 MP3 파일을 추가 할 경우, 다음 코드는 미디어 플레이어 라이브러리에 MP3를 추가합니다 :

private void AddSong() 
    { 
     Uri file = new Uri("Assets/someSong.mp3", UriKind.Relative); 

     //copy file to isolated storage 
     var myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); 
     var fileStream = myIsolatedStorage.CreateFile("someSong.mp3"); 
     var resource = Application.GetResourceStream(file); 
     int chunkSize = 4096; 
     byte[] bytes = new byte[chunkSize]; 
     int byteCount; 
     while ((byteCount = resource.Stream.Read(bytes, 0, chunkSize)) > 0) 
     { 
      fileStream.Write(bytes, 0, byteCount); 
     } 
     fileStream.Close(); 

     Microsoft.Xna.Framework.Media.PhoneExtensions.SongMetadata metaData = new Microsoft.Xna.Framework.Media.PhoneExtensions.SongMetadata(); 
     metaData.AlbumName = "Some Album name"; 
     metaData.ArtistName = "Some Artist Name"; 
     metaData.GenreName = "test"; 
     metaData.Name = "someSongName"; 

     var ml = new MediaLibrary(); 
     Uri songUri = new Uri("someSong.mp3", UriKind.RelativeOrAbsolute); 
     var song = Microsoft.Xna.Framework.Media.PhoneExtensions.MediaLibraryExtensions.SaveSong(ml, songUri, metaData, Microsoft.Xna.Framework.Media.PhoneExtensions.SaveSongOperation.CopyToLibrary);    
    } 
또한 추가 할 필요

:

using System.IO.IsolatedStorage; 

나는 것을 이 신용 항에 사랑하지만 여기에 대한 답을 찾을 :

http://social.msdn.microsoft.com/forums/wpapps/en-US/f5fa73da-176b-4aaa-8960-8f704236bda5/medialibrary-savesong-method

0

기본적으로 에뮬레이터의 미디어 라이브러리는 비어 있습니다. 나는 또한 자동으로 당신의 dev 컴퓨터의 음악 폴더를 에뮬레이터에 연결하여 테스트 할 수 있다고 생각하지 않는다. 이메일 계정으로 에뮬레이트 된 전화를 수동으로 구성하려면 일 수 있습니다! 그런 식으로 음악을 저장해도 효과적이라 할지라도 에뮬레이터를 다시 시작할 때마다 매번 음악을 재생해야합니다.

테스트하는 가장 좋은 방법은 실제 장치에 배포하는 것입니다.

+0

아 이상을 그것을 위해 ks - 나는 쉬운 방법이있을 것이기를 바랬다. – Weetobix