У меня есть записанный звук, хранящийся на USB-накопителе, и я перечисляю их в файле listbox
. Я хотел бы выбрать их и нажать «воспроизведение», чтобы воспроизвести отдельный файл соответственно. В настоящее время мне удается прочитать имя файла, но я не могу воспроизвести файл.
Мой код, как показано ниже.
Обновлено: (список записей — это имя для listbox
)
private async void recordList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
recordList.SelectedItem = recordIndex;
string recordFileName = recordList.SelectedItem.ToString();
StatusMessage.Text = recordFileName;
StorageFolder externalDevices = KnownFolders.RemovableDevices;
IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync();
StorageFolder usbStorage = externalDrives[0];
StorageFolder recordFolder = await usbStorage.CreateFolderAsync(recFolderName, CreationCollisionOption.OpenIfExists);
await usbStorage.GetFolderAsync(recFolderName);
StorageFile recordFile = await usbStorage.GetFileAsync(recordFileName);
recordPlayer.Source = Windows.Media.Core.MediaSource.CreateFromStorageFile(recordFile);
recordPlayer.AutoPlay = false;
}
Этот код используется для отображения всех файлов .mp3 на моем USB-накопителе в папке listbox
.
private async void displayRecord()
{
StorageFolder externalDevices = KnownFolders.RemovableDevices;
IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync();
StorageFolder usbStorage = externalDrives[0];
StorageFolder recordFolder = await usbStorage.CreateFolderAsync(recFolderName, CreationCollisionOption.OpenIfExists);
await usbStorage.GetFolderAsync(recFolderName);
IReadOnlyList<StorageFile> recFileList = await recordFolder.GetFilesAsync();
foreach(StorageFile file in recFileList)
{
recordList.Items.Add(file.Name);
}
}