如何使用MediaElement
获取有关声音文件的内部信息?
我知道如何获取具有NaturalDuration
属性的歌曲文件的持续时间,但我希望能够访问Author
,而其他人则标记许多mp3文件包含在自身中。有没有办法只使用MediaElement
来做到这一点?我知道怎么做,但只有WMP,我真的需要用MediaElement
来做,因为我的应用程序是一个UWP应用程序。
感谢!!!
答案 0 :(得分:0)
好的,迟到的可能不是那么优雅,但这是我获取mp3文件持续时间的解决方案。我使用了MusicProperties Class。使用此课程,您可以访问文件中的任何音乐标签信息。
Public Function infoMP3(elfichero As String)As String
Dim salida As String = ""
Dim miTask = Task.Run(Async Function() As Task(Of String)
Dim musicFile As StorageFile = Await StorageFile.GetFileFromPathAsync(elfichero)
Dim FileProperties As StorageItemContentProperties = musicFile.Properties
Dim musicFileProperties As MusicProperties = Await FileProperties.GetMusicPropertiesAsync()
Dim tiempo = musicFileProperties.Duration
Dim horas As String
If tiempo.Hours < 10 Then
horas = "0" & tiempo.Hours.ToString
Else
horas = tiempo.Hours.ToString
End If
Dim minutos As String
If tiempo.Minutes < 10 Then
minutos = "0" & tiempo.Minutes.ToString
Else
minutos = tiempo.Minutes.ToString
End If
Dim segundos As String
If tiempo.Seconds < 10 Then
segundos = "0" & tiempo.Seconds.ToString
Else
segundos = tiempo.Seconds.ToString
End If
Dim autor = musicFileProperties.Artist
Dim titulo = musicFileProperties.Title
Dim presalida As String = "[" & horas & ":" & minutos & ":" & segundos & "];[" & titulo & "];[" & autor & "] " & elfichero
Return presalida
End Function)
miTask.Wait()
salida = miTask.Result
Return salida
结束功能 要在以后在Windows 10上访问文件,您必须保存文件和/或文件夹的权限。选择它们时,请执行此操作。
... Dim listToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(rutaS)......
其中rutaS是SotorageFolder对象。