如何使用C#和Visual Studio上传与ID3标签的音频文件到应用程序(How to uplo

2019-10-29 10:21发布

我目前工作的代码拉从用户的计算机MP3文件并上传到,我在Visual Studio UWP使用C#创建音乐库的应用程序。 它需要能够拉ID3标签艺术家,标题和专辑,因为这些都将有实际的库页面,那里的音乐将相应地进行排序上被引用。

下面的代码是我到目前为止,我目前停留在还有什么可以只写在文件上传到我的ID3标签应用程序的音乐库部分:

 //Uploading Music File Button
    private async void UploadButton_Click(object sender, RoutedEventArgs e)
    {
        //Opening User's personal Music Library to select files
        var picker = new Windows.Storage.Pickers.FileOpenPicker
        {
            ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail,
            SuggestedStartLocation =
            Windows.Storage.Pickers.PickerLocationId.MusicLibrary
        };
        //Accepted file type = mp3 (only mp3 files display for user selection)
        picker.FileTypeFilter.Add(".mp3");

        StorageFile file = await picker.PickSingleFileAsync();
        if (file != null)
        {
            // Application now has read/write access to the picked file 
            //Storing File for future use
Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);

            // Open a stream for the selected file. 
            // The 'using' block ensures the stream is disposed 
            // after the music is loaded. 
            IRandomAccessStream fileStream =
            await file.OpenAsync(FileAccessMode.ReadWrite);
        }
}

我很新的这一切,让我可以在此代码缺少一些很明显的事情。 我已经检查到各种教程和例子,但他们没有提供我在寻找或者一半的精确配合。 感谢您在百忙之中阅读我的代码,并提供任何意见/建议的时间。

Answer 1:

如何使用C#和Visual Studio上传与ID3标签的音频文件到应用程序

对于访问音频的元数据,你可以使用GetMusicPropertiesAsync方法获取音频文件的专辑在艺术家标题MusicProperties财产。

try
{
    StorageFile file = rootPage.sampleFile;
    if (file != null)
    {
        StringBuilder outputText = new StringBuilder();

        // Get music properties
        MusicProperties musicProperties = await file.Properties.GetMusicPropertiesAsync();
        outputText.AppendLine("Album: " + musicProperties.Album);
        outputText.AppendLine("Rating: " + musicProperties.Rating);
    }
}
// Handle errors with catch blocks
catch (FileNotFoundException)
{
 // For example, handle a file not found error
}

上传音频文件到服务器,你可以使用BackgroundTransfer API。 这是代码示例 ,你可以参考一下。 而你也可以你HttpClient的 API来发表您的文件流。



文章来源: How to upload an audio file with ID3 tags into an application using C# and visual studio
标签: c# uwp id3