65.9K
CodeProject 正在变化。 阅读更多。
Home

关于使用 Windows Media Player 的 MP3 播放器的另一篇文章

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.21/5 (5投票s)

2008年11月12日

CPOL

2分钟阅读

viewsIcon

47083

downloadIcon

1869

用这个音频播放器播放你的 MP3

引言

这个程序源自 Code Project 上的 Ultimate Player 源代码。我对这个 MP3 播放器添加了很多功能——当前播放时间和剩余时间,重新设计了平衡滑块(分别为 -100、0、100 的最小值、值和最大值属性),使其能够正常工作。

我没有设计经验,所以请不要见笑…嘿嘿。这个程序确实有效而且功能强大。尽情享受 Audio PlayerWMP 吧。我讨厌工具提示,所以所有提示都可以通过将鼠标悬停在按钮上找到。提示加载在一个文本框中,位于两列按钮之间,请参阅下图

ap-2.jpg

选择 MP3 文件

Ultimate Player 源代码一次只能选择一个文件。我认为打开、选择 1 个、打开、选择 1 个…(你明白我的意思)并不是我想要的,所以我为“打开文件”对话框添加了多选功能。

Private Sub LoadFiles(ByVal mediaType As String)
        Dim supportedFiles As String

        Select Case mediaType
            Case "Audio"
                supportedFiles = audioFiles
            Case Else
                supportedFiles = audioFiles
        End Select

        With ofd
            .InitialDirectory = "C:\Users\" & GetUserName() & "\Music\"
            .Filter = supportedFiles
            .CheckFileExists = True
            .Multiselect = True
            .RestoreDirectory = True
        End With

        If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then

            For Each Me.fileNamePath In ofd.FileNames
                fileNameShow = GetFileName(fileNamePath)
                Me.lstFiles.Items.Add(fileNameShow)
            Next
        End If

    End Sub 

我不得不添加一个 GetUserName 函数(见上图),以便每个人都可以使用这个程序。我从程序中的评论中获得了这段代码

Function GetUserName() As String
        If TypeOf My.User.CurrentPrincipal Is  _
        Security.Principal.WindowsPrincipal Then
            Dim parts() As String = Split(My.User.Name, "\")
            Dim username As String = parts(1)
            Return username
        Else
            Return My.User.Name
        End If
    End Function 

标签计时器

这是我在 timerDuration_Scroll 事件中使用的标签的代码…

lblTime.Text = axWMP.Ctlcontrols.currentPositionString
lblDuration.Text = Format_
		(Int(axWMP.currentMedia.duration - axWMP.Ctlcontrols.currentPosition)
                              \ 60, "00") & ":" & _
                   Format(Int(axWMP.currentMedia.duration - _
			axWMP.Ctlcontrols.currentPosition)
                               Mod 60, "00").ToString

音量和平衡滑块

我添加了代码来向用户显示他或她正在使用的音量大小,并对平衡进行了相同的操作(见上图)。

致作者

感谢所有我使用的代码的作者(所有姓名都在程序中的注释中)。特别感谢 Ultimate Player 源代码的创建者,感谢他对 Windows Media Player 的想法。

历史

  • 2008年11月12日:初始发布

我没有学位,但我在大学里有过编程经验(Pascal 和 COBOL)。我在建筑行业工作了 30 多年,现在已经退休。所以我决定把 VB 当作爱好来学习。我通过从 Code Project 下载程序学到了很多。我感谢所有上传文章的作者。这实际上是一个更好的学习场所。

© . All rights reserved.