Как загрузить аудиофайл с тегами ID3 в приложение с помощью C # и Visual Studio - PullRequest
0 голосов
/ 06 сентября 2018

В настоящее время я работаю над кодом для извлечения 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);
        }
}

Я очень новичок во всем этом, поэтому я могу упустить некоторые очень очевидные вещи в этом коде.Я проверил различные учебные пособия и примеры, но ни один из них не обеспечивает точное соответствие, которое я ищу, или наполовину готов.Спасибо, что нашли время, чтобы прочитать мой код и предложить любые советы / предложения.

1 Ответ

0 голосов
/ 11 сентября 2018

Как загрузить аудиофайл с тегами ID3 в приложение, используя C # и visual studio

Для доступа к аудиометаданным вы можете использовать метод 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 для публикации вашего потока файлов.

...