在Silverlight中读取MP3标记属性

时间:2010-06-24 14:32:08

标签: silverlight mp3 attributes tags

我知道在silverlight中读出MP3标签属性MP3V1很有用。我知道它没有任何第三方模块。但是,当我使用像Microsoft描述的MP3工作流程时,我总是在MP3文件中得到零属性的数量。

如何解决?

示例项目: 从这里下载MP3演示文件: http://www.file-upload.net/download-2617219/Elenor_techno.mp3.html

<UserControl x:Class="MP3_Tag_test.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">

<Grid x:Name="LayoutRoot" Background="White" Margin="12">
    <StackPanel Orientation="Vertical">
        <MediaElement x:Name="MediaHelper" Visibility="Visible" />
        <TextBlock x:Name="txtTitle" Text="Title" FontSize="28" />
        <Button Content="STOP" Height="23" HorizontalAlignment="Left" Name="Button3" Width="75" />
        <Button Content="Play MP3" Height="23" HorizontalAlignment="Left" Name="Button1" VerticalAlignment="Top" Width="75" Margin="0,20,0,0" />
        <Button Content="Play stream" Height="23" HorizontalAlignment="Left" Name="Button2" VerticalAlignment="Top" Width="75" />
    </StackPanel>
</Grid>

Partial Public Class MainPage
Inherits UserControl

Public Sub New()
    InitializeComponent()
End Sub

Private Sub MainPage_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded

End Sub

Private Sub MediaHelper_CurrentStateChanged(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles MediaHelper.CurrentStateChanged
    If Me.MediaHelper.Attributes.ContainsKey("Title") Then Me.txtTitle.Text = Me.MediaHelper.Attributes("Title")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Me.txtTitle.Text = "Loading mp3..."

    Me.MediaHelper.Source = New Uri("http://dave-d.ch/database/music/public/1000036869_stefan%20lange%20koolja.mp3")
    Me.MediaHelper.Play()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
    Me.txtTitle.Text = "Loading stream..."

    Me.MediaHelper.Source = New Uri("http://asx.skypro.ch/radio/internet-128/fm1-nord.asx")
    Me.MediaHelper.Play()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button3.Click
    Me.MediaHelper.Stop()
End Sub 

结束班

1 个答案:

答案 0 :(得分:0)

确定。我创建了自己的课程,现在我通过服务向Silverlight页面提交MP3标签。但我仍然对Silverlight标签阅读器不感兴趣。