2010-11-26 76 views

回答

2

不幸的是,沒有辦法將歌曲添加到模擬器。
你將不得不使用一個真實的設備來測試它。

+0

不夠公平,我想。他們也許應該補充虛擬歌曲或某事在以後的版本... – tweetypi 2010-11-26 14:30:32

+0

這是一個有點討厭,因爲它是可以添加通過`MediaLibrary`瀏覽圖片。我懷疑,添加歌曲可能會稍微複雜一些,因爲您需要考慮藝術品,藝術家,專輯,流派等,也許在未來的版本中。 – 2010-11-26 14:40:21

1

其實你可以使用一個應用程序來做到這一點:

Uri file = new Uri("Assets/Happy.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);