如何在Windows Phone 7模拟器中添加更多音乐?

4

模拟器只有3首歌,这不足以确保我正在开发的歌曲选择代码可以管理超过3首歌。

所以我想知道是否可能?

2个回答

2

很遗憾,无法向模拟器中添加歌曲。
您需要使用真实设备进行测试。


我想还可以吧。他们可能应该在以后的版本中添加一些虚拟歌曲之类的东西... - meds
有点烦人,因为可以通过“MediaLibrary”添加图片。我怀疑添加歌曲可能会更加复杂,因为您需要考虑艺术品、艺术家、专辑、流派等等。也许在将来的版本中会解决这个问题。 - Matt Lacey

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);            

我尝试过这个。但是我遇到了一个错误:“在命名空间'Microsoft.Xna.Framework.Media'中找不到类型或命名空间名为'PhoneExtensions'的名称(是否缺少程序集引用?)”。此外,由于该文件不存在,我无法添加对“microsoft.xna.framework.media.phoneextensions.dll”的引用。我在互联网上也找不到这个dll文件。 - Ganesh Jadhav
我可以把它们发送给你,但我认为你只需要安装微软XNA游戏工作室就足够了... - csharpwinphonexaml
非常感谢提供的信息。我正在下载XNA游戏工作室。 - Ganesh Jadhav
同样的问题。后面的例子使用了SongMetadata类和this链接说它在Microsoft.Xna.Framework.Media.PhoneExtensions中,而我没有这个。 - Ganesh Jadhav
我也回答了你的另一个问题 :D - csharpwinphonexaml
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接