我目前正在使用C#和XAML在Visual Studio中创建模仿音乐库的UWP应用。
该应用程序将允许用户在一页上上传MP3文件,然后用户可以单击到另一页以按标题,艺术家和专辑名称组织的列表播放此音乐。因此,我需要引用MP3文件的元数据,以便能够将歌曲放入相应标题,艺术家姓名和专辑名称下的列表中。
有人可以为我提供有关如何存储用户上传的音乐的帮助吗? 还有如何引用MP3文件中的元数据将标题,专辑名称和艺术家绑定到列表的标题?
很抱歉,如果在先前有关stackoverflow的问题中已经对此进行了分类。我搜索了几次搜索,但没有找到任何适用的搜索结果。
谢谢!
答案 0 :(得分:0)
我想我在帮助朋友阅读/写入音频/视频的元数据时,先阅读了有关TagLib的更多信息。
Its not advisable to try to interact with the Excel object model in a multi-threaded way (except by using locks to force single-threaded access).
然后将歌曲数据存储到db时,应将其存储为字节。
string fileName = @"D:\Personal\MyMusic\Acoustic Covers\Song1.mp3";
TagLib.File file = TagLib.File.Create(fileName);
Console.WriteLine(file.Tag.Title);
Console.WriteLine(file.Tag.Album);
我还没有测试过代码,我只是在编写代码时就在想像,但这应该可以帮助您启动项目。
答案 1 :(得分:0)
好吧,看来您在这里问的不仅仅是一个问题,所以我会尽力解决每个问题。
1-该应用必须能够访问MP3文件。如果您使用OpenFilePicker将文件“上传”到应用程序,则该应用程序可以保留对StorageFile
的引用,只要该应用程序处于打开状态,该引用就一直有效。如果要允许您的应用在关闭并再次打开后访问相同的文件,则需要研究使用FutureAccessList,但要小心,因为此列表的最大限制为1000个项目。如果您希望您的应用程序需要访问1000个以上的文件,则可以考虑参考文件夹存储或允许应用程序访问用户的MusicLibrary
2-要读取MP3文件的元数据,您将需要使用与UWP平台兼容的库。为此,首选TagLibSharp-Portable。提供的链接提供了有关如何从文件中读取标签的示例。
希望这能使您走上实现功能的正确之路。