I have a recorded audio stored in an USB storage and list them in the listbox
. I would like to select them and click 'play' to play individual file respectively. Currently I manage to read the filename but unable to play the file.
My code as below.
Updated:
(recordlist is the name for the 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;
}
This is the code is use to display all the .mp3 files in my USB drive on the 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);
}
}