VERSION 5.00 Begin VB.Form frmPLAY BorderStyle = 1 ' Caption = "Sample MP3 Player" ClientHeight = 9135 ClientLeft = 2400 ClientTop = 2430 ClientWidth = 8235 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False OLEDropMode = 1 ' ScaleHeight = 9135 ScaleWidth = 8235 Begin VB.CommandButton Command2 Caption = "Command2" Height = 315 Left = 60 TabIndex = 130 Top = 5820 Width = 315 End Begin VB.CheckBox chkQuickSeek Caption = "QuickSeek" Height = 195 Left = 3240 TabIndex = 129 Top = 2280 Width = 1215 End Begin VB.CheckBox chkFrameRead Caption = "allFrameRead" Height = 195 Left = 1800 TabIndex = 128 Top = 2280 Width = 1455 End Begin VB.CommandButton cmdChgWindow Caption = "win" BeginProperty Font Name = " Size = 8.25 Charset = 128 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Left = 7800 TabIndex = 127 Top = 2220 Width = 435 End Begin VB.CommandButton Command1 Caption = "Lyrics3 Edit" Height = 315 Left = 6660 TabIndex = 126 Top = 2940 Width = 1095 End Begin VB.CommandButton cmdTagEdit Caption = "Tag Edit" Height = 315 Left = 6660 TabIndex = 64 Top = 2640 Width = 1095 End Begin VB.CheckBox chkLyrics3 Caption = "UseLyrics3" Height = 255 Left = 5460 TabIndex = 125 Top = 3000 Width = 1155 End Begin VB.HScrollBar scSoftVol Height = 135 LargeChange = 20 Left = 3300 Max = 100 TabIndex = 123 Top = 3120 Value = 100 Width = 2055 End Begin VB.HScrollBar hscPitch Height = 135 LargeChange = 20 Left = 3480 Max = 300 Min = 50 TabIndex = 120 Top = 1740 Value = 100 Width = 3135 End Begin VB.CommandButton cmdFadeOutNow Caption = "FadeOut" Height = 255 Left = 4020 TabIndex = 119 Top = 2460 Width = 975 End Begin VB.CheckBox chkFadeOut Caption = "FadeOut" Height = 195 Left = 1800 TabIndex = 118 Top = 2520 Width = 975 End Begin VB.CheckBox chkFadeIn Caption = "FadeIn" Height = 195 Left = 2880 TabIndex = 117 Top = 2520 Width = 975 End Begin VB.CommandButton cmdx3 Caption = "x3" Height = 315 Left = 4980 TabIndex = 114 Top = 1920 Width = 375 End Begin VB.CommandButton cmdx2 Caption = "x2" Height = 315 Left = 4500 TabIndex = 116 Top = 1920 Width = 495 End Begin VB.CommandButton cmdNomal Caption = "x1" Height = 315 Left = 4140 TabIndex = 115 Top = 1920 Width = 375 End Begin VB.TextBox txtPitch Alignment = 1 ' Height = 270 Left = 960 TabIndex = 112 Text = "100" Top = 1680 Width = 615 End Begin VB.CommandButton cmdEncode Caption = "encode" Height = 375 Left = 720 TabIndex = 111 Top = 120 Width = 855 End Begin VB.CommandButton btFileInfo Caption = "FileInfo" Height = 315 Left = 5400 TabIndex = 65 Top = 2640 Width = 1215 End Begin VB.CommandButton cmdGE Caption = "GraphicEQ" Height = 315 Left = 5400 TabIndex = 110 Top = 2340 Width = 1215 End Begin VB.CommandButton cmdChgSecFlame Caption = "s/frm/smp" Height = 255 Left = 7080 TabIndex = 109 Top = 1040 Width = 1095 End Begin VB.Timer TimeView Enabled = 0 'False Left = 7680 Top = 600 End Begin VB.CommandButton cmdGetVol Caption = "get" Height = 195 Left = 1800 TabIndex = 108 Top = 3060 Width = 435 End Begin VB.PictureBox picWaveFrm Height = 615 Left = 6720 ScaleHeight = 555 ScaleWidth = 1395 TabIndex = 106 Top = 1560 Width = 1455 Begin VB.PictureBox picWave Appearance = 0 ' AutoRedraw = -1 'True BackColor = &H00FFFFFF& BorderStyle = 0 ' ForeColor = &H80000008& Height = 555 Left = 0 ScaleHeight = 555 ScaleWidth = 1395 TabIndex = 107 Top = 0 Width = 1395 Begin VB.Line lineCenter BorderColor = &H80000001& X1 = -120 X2 = 1560 Y1 = 277 Y2 = 277 End End End Begin VB.CommandButton cmdDecodeWave Caption = "decodeWave" Height = 315 Left = 5400 TabIndex = 105 Top = 2040 Width = 1215 End Begin VB.TextBox txtOutSleep Alignment = 1 ' Height = 270 Left = 960 TabIndex = 103 Text = "10" Top = 3420 Width = 615 End Begin VB.CommandButton cmdSiEdit Caption = "SI Edit" Height = 315 Left = 6660 TabIndex = 98 Top = 2340 Width = 1095 End Begin VB.CommandButton cmdGetList Caption = "ListInfo" Height = 375 Left = 120 TabIndex = 66 Top = 6240 Width = 1095 End Begin VB.CommandButton cmdGenreGet Caption = "GetGenre" Height = 255 Left = 1800 TabIndex = 61 Top = 3720 Width = 975 End Begin VB.TextBox txtGenreNo Height = 270 Left = 2880 TabIndex = 60 Text = "0" Top = 3720 Width = 495 End Begin VB.TextBox txtInSleep Alignment = 1 ' Height = 270 Left = 960 TabIndex = 48 Text = "30" Top = 3180 Width = 615 End Begin VB.TextBox txtOutFlame Alignment = 1 ' Height = 270 Left = 960 TabIndex = 49 Text = "16" Top = 2940 Width = 615 End Begin VB.CommandButton cmdDecGet Caption = "Get!" Height = 255 Left = 960 TabIndex = 43 Top = 2040 Width = 615 End Begin VB.CommandButton cmdOptSam Caption = "Set!" Height = 255 Left = 240 TabIndex = 42 Top = 2040 Width = 615 End Begin VB.TextBox txtFre Alignment = 1 ' Height = 270 Left = 960 TabIndex = 44 Text = "24000" Top = 1440 Width = 615 End Begin VB.TextBox txtChan Alignment = 1 ' Height = 270 Left = 960 TabIndex = 45 Text = "0" Top = 1200 Width = 615 End Begin VB.CommandButton cmdVbmp3Opt Caption = "Set!" Height = 255 Left = 240 TabIndex = 51 Top = 3780 Width = 615 End Begin VB.TextBox txtInFlame Alignment = 1 ' Height = 270 Left = 960 TabIndex = 50 Text = "32" Top = 2700 Width = 615 End Begin VB.CommandButton cmdVbmp3Get Caption = "Get!" Height = 255 Left = 960 TabIndex = 47 Top = 3780 Width = 615 End Begin VB.TextBox txtSam Alignment = 1 ' Height = 270 Left = 960 TabIndex = 46 Text = "0" Top = 960 Width = 615 End Begin VB.CommandButton btMpegInfo Caption = "MpegInfo" Height = 375 Left = 5280 TabIndex = 40 Top = 3420 Width = 1335 End Begin VB.CommandButton btTagInfo Caption = "TagInfo" Height = 375 Left = 120 TabIndex = 27 Top = 4200 Width = 1335 End Begin VB.HScrollBar scSeek Height = 135 Left = 1800 Max = 0 TabIndex = 25 Top = 1560 Width = 4815 End Begin VB.HScrollBar scRVol Height = 135 LargeChange = 20 Left = 3300 Max = 100 TabIndex = 21 Top = 2940 Value = 100 Width = 2055 End Begin VB.HScrollBar scLVol Height = 135 LargeChange = 20 Left = 3300 Max = 100 TabIndex = 20 Top = 2760 Value = 100 Width = 2055 End Begin VB.TextBox txtFile Height = 270 Left = 1680 TabIndex = 0 Text = "a.mp3" Top = 120 Width = 6255 End Begin VB.Timer Timer Enabled = 0 'False Interval = 100 Left = 7680 Top = 120 End Begin VB.CommandButton btStop Caption = "stop" Height = 315 Left = 3360 TabIndex = 4 Top = 1920 Width = 735 End Begin VB.CommandButton btPause Caption = "pause" Height = 315 Left = 2580 TabIndex = 3 Top = 1920 Width = 735 End Begin VB.CommandButton btPlay Caption = "play" Height = 315 Left = 1800 TabIndex = 2 Top = 1920 Width = 735 End Begin VB.CommandButton btOpen Caption = "open" Height = 375 Left = 120 TabIndex = 1 Top = 120 Width = 615 End Begin VB.Label Label48 Caption = "Soft Volume" BeginProperty Font Name = " Size = 8.25 Charset = 128 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 135 Left = 2400 TabIndex = 124 Top = 3120 Width = 915 End Begin VB.Label Label45 BackStyle = 0 ' Caption = "Hard" BeginProperty Font Name = " Size = 8.25 Charset = 128 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 2580 TabIndex = 122 Top = 2820 Width = 375 End Begin VB.Label Label4 Caption = " `300[%]) Height = 195 Left = 1860 TabIndex = 121 Top = 1740 Width = 1455 End Begin VB.Label Label26 BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 113 Top = 1680 Width = 735 End Begin VB.Label Label22 BackStyle = 0 ' Caption = " Sleep" Height = 255 Left = 120 TabIndex = 104 Top = 3420 Width = 855 End Begin VB.Label Label49 BackStyle = 0 ' Caption = " Height = 255 Left = 4440 TabIndex = 102 Top = 1320 Width = 2295 End Begin VB.Label lbPlayTime2 Alignment = 1 ' BackStyle = 0 ' Height = 255 Left = 6480 TabIndex = 101 Top = 1320 Width = 615 End Begin VB.Label lbTotalSec2 BackStyle = 0 ' Height = 255 Left = 7440 TabIndex = 100 Top = 1320 Width = 615 End Begin VB.Label Label43 BackStyle = 0 ' Caption = "/" Height = 255 Left = 7200 TabIndex = 99 Top = 1320 Width = 135 End Begin VB.Label lbListILYC BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 97 Top = 8880 Width = 7095 End Begin VB.Label Label36 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 96 Top = 8880 Width = 855 End Begin VB.Label lbListICMS BackStyle = 0 ' Height = 255 Left = 4800 TabIndex = 95 Top = 8640 Width = 3375 End Begin VB.Label Label47 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 3960 TabIndex = 94 Top = 8640 Width = 855 End Begin VB.Label lbListITCH BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 93 Top = 8640 Width = 2895 End Begin VB.Label Label42 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 92 Top = 8640 Width = 855 End Begin VB.Label Label39 Caption = "RIFF LIST (SI BeginProperty Font Name = " Size = 11.25 Charset = 128 Weight = 700 Underline = 0 'False Italic = -1 'True Strikethrough = 0 'False EndProperty Height = 255 Left = 1320 TabIndex = 91 Top = 6240 Width = 5295 End Begin VB.Label Label38 Caption = "MPEG BeginProperty Font Name = " Size = 11.25 Charset = 128 Weight = 700 Underline = 0 'False Italic = -1 'True Strikethrough = 0 'False EndProperty Height = 255 Left = 6720 TabIndex = 90 Top = 3420 Width = 1335 End Begin VB.Label Label37 Caption = " BeginProperty Font Name = " Size = 11.25 Charset = 128 Weight = 700 Underline = 0 'False Italic = -1 'True Strikethrough = 0 'False EndProperty Height = 255 Left = 1560 TabIndex = 89 Top = 4200 Width = 1095 End Begin VB.Label lbListIKEY BackStyle = 0 ' Height = 255 Left = 4800 TabIndex = 88 Top = 8400 Width = 3375 End Begin VB.Label Label35 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 3960 TabIndex = 87 Top = 8400 Width = 855 End Begin VB.Label lbListISRC BackStyle = 0 ' Height = 255 Left = 4800 TabIndex = 86 Top = 8160 Width = 3375 End Begin VB.Label Label46 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 3960 TabIndex = 85 Top = 8160 Width = 855 End Begin VB.Label lbListICOP BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 84 Top = 7920 Width = 7095 End Begin VB.Label Label44 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 83 Top = 7920 Width = 855 End Begin VB.Label lbListISFT BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 82 Top = 8400 Width = 2895 End Begin VB.Label lbListIENG BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 81 Top = 8160 Width = 2895 End Begin VB.Label Label41 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 80 Top = 8400 Width = 855 End Begin VB.Label Label40 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 79 Top = 8160 Width = 855 End Begin VB.Label lbListIGNR BackStyle = 0 ' Height = 255 Left = 4800 TabIndex = 78 Top = 7680 Width = 3375 End Begin VB.Label lbListICRD BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 77 Top = 7680 Width = 2895 End Begin VB.Label lbListICMT BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 76 Top = 7440 Width = 7095 End Begin VB.Label lbListIPRD BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 75 Top = 7200 Width = 7095 End Begin VB.Label lbListIART BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 74 Top = 6960 Width = 7095 End Begin VB.Label lbListINAM BackStyle = 0 ' Height = 255 Left = 1080 TabIndex = 73 Top = 6720 Width = 7095 End Begin VB.Label Label34 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 3960 TabIndex = 72 Top = 7680 Width = 855 End Begin VB.Label Label33 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 71 Top = 7680 Width = 855 End Begin VB.Label Label32 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 70 Top = 7440 Width = 855 End Begin VB.Label Label31 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 69 Top = 7200 Width = 855 End Begin VB.Label Label30 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 68 Top = 6960 Width = 855 End Begin VB.Label Label29 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 67 Top = 6720 Width = 855 End Begin VB.Line Line7 X1 = 0 X2 = 8160 Y1 = 6120 Y2 = 6120 End Begin VB.Label Label28 BackStyle = 0 ' Caption = " Height = 255 Left = 1800 TabIndex = 63 Top = 3420 Width = 1455 End Begin VB.Label lbGenreName BackStyle = 0 ' Height = 255 Left = 3480 TabIndex = 62 Top = 3720 Width = 1575 End Begin VB.Line Line6 X1 = 0 X2 = 1680 Y1 = 2340 Y2 = 2340 End Begin VB.Line Line5 X1 = 1680 X2 = 0 Y1 = 600 Y2 = 600 End Begin VB.Line Line4 X1 = 1680 X2 = 1680 Y1 = 4080 Y2 = 600 End Begin VB.Label Label27 BackStyle = 0 ' Caption = " Sleep" Height = 255 Left = 120 TabIndex = 59 Top = 3180 Width = 855 End Begin VB.Label Label25 BackStyle = 0 ' Caption = "VBMP3 Height = 255 Left = 120 TabIndex = 58 Top = 2460 Width = 1455 End Begin VB.Label Label24 BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 57 Top = 2940 Width = 855 End Begin VB.Label Label20 BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 56 Top = 2700 Width = 855 End Begin VB.Label Label18 BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 55 Top = 720 Width = 1455 End Begin VB.Label Label16 BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 54 Top = 1440 Width = 735 End Begin VB.Label Label13 BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 53 Top = 1200 Width = 735 End Begin VB.Label Label12 BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 52 Top = 960 Width = 735 End Begin VB.Line Line3 X1 = 0 X2 = 5160 Y1 = 4080 Y2 = 4080 End Begin VB.Label lbMpegInfo BackStyle = 0 ' Height = 2175 Left = 5400 TabIndex = 41 Top = 3900 Width = 2655 End Begin VB.Line Line2 X1 = 5160 X2 = 5160 Y1 = 6120 Y2 = 3300 End Begin VB.Label Label23 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 39 Top = 5640 Width = 1095 End Begin VB.Label lbTagGenre BackStyle = 0 ' Height = 255 Left = 1440 TabIndex = 38 Top = 5640 Width = 3495 End Begin VB.Label Label21 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 37 Top = 5400 Width = 1095 End Begin VB.Label lbTagYear BackStyle = 0 ' Height = 255 Left = 1440 TabIndex = 36 Top = 5400 Width = 3495 End Begin VB.Label Label19 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 35 Top = 5880 Width = 1095 End Begin VB.Label lbTagComment BackStyle = 0 ' Height = 255 Left = 1440 TabIndex = 34 Top = 5880 Width = 3495 End Begin VB.Label Label17 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 33 Top = 5160 Width = 1095 End Begin VB.Label lbTagAlbum BackStyle = 0 ' Height = 255 Left = 1440 TabIndex = 32 Top = 5160 Width = 3495 End Begin VB.Label Label15 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 31 Top = 4680 Width = 1095 End Begin VB.Label Label14 Alignment = 1 ' BackStyle = 0 ' Caption = " Height = 255 Left = 120 TabIndex = 30 Top = 4920 Width = 1095 End Begin VB.Label lbTagArtist BackStyle = 0 ' Height = 255 Left = 1440 TabIndex = 29 Top = 4680 Width = 3495 End Begin VB.Label lbTagTrack BackStyle = 0 ' Height = 255 Left = 1440 TabIndex = 28 Top = 4920 Width = 3495 End Begin VB.Line Line1 X1 = 1680 X2 = 8160 Y1 = 3300 Y2 = 3300 End Begin VB.Label Label10 BackStyle = 0 ' Caption = "/" Height = 255 Left = 6240 TabIndex = 26 Top = 1080 Width = 135 End Begin VB.Label Label11 Caption = "right" BeginProperty Font Name = " Size = 8.25 Charset = 128 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 135 Left = 2940 TabIndex = 24 Top = 2940 Width = 375 End Begin VB.Label Label3 Caption = "left" BeginProperty Font Name = " Size = 8.25 Charset = 128 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 135 Left = 3000 TabIndex = 23 Top = 2760 Width = 255 End Begin VB.Label Label1 Caption = " Height = 195 Left = 1800 TabIndex = 22 Top = 2820 Width = 675 End Begin VB.Label lbTotalSec BackStyle = 0 ' Height = 255 Left = 6360 TabIndex = 19 Top = 1080 Width = 735 End Begin VB.Label lbTrackName BackStyle = 0 ' Height = 255 Left = 5520 TabIndex = 18 Top = 840 Width = 2655 End Begin VB.Label lbArtistName BackStyle = 0 ' Height = 255 Left = 5520 TabIndex = 17 Top = 600 Width = 2655 End Begin VB.Label lbSamplingRate BackStyle = 0 ' Height = 255 Left = 3120 TabIndex = 16 Top = 1080 Width = 1215 End Begin VB.Label lbChannels BackStyle = 0 ' Height = 255 Left = 2760 TabIndex = 15 Top = 840 Width = 1575 End Begin VB.Label lbBitRate BackStyle = 0 ' Height = 255 Left = 2760 TabIndex = 14 Top = 600 Width = 1575 End Begin VB.Label Label9 BackStyle = 0 ' Caption = " Height = 255 Left = 4440 TabIndex = 13 Top = 1080 Width = 975 End Begin VB.Label Label8 BackStyle = 0 ' Caption = " Height = 255 Left = 4440 TabIndex = 12 Top = 840 Width = 975 End Begin VB.Label Label7 BackStyle = 0 ' Caption = " Height = 255 Left = 4440 TabIndex = 11 Top = 600 Width = 1215 End Begin VB.Label Label6 BackStyle = 0 ' Caption = " Height = 255 Left = 1800 TabIndex = 10 Top = 1080 Width = 1335 End Begin VB.Label Label5 BackStyle = 0 ' Caption = " Height = 255 Left = 1800 TabIndex = 9 Top = 840 Width = 975 End Begin VB.Label lbBitRateLabel BackStyle = 0 ' Caption = " Height = 255 Left = 1800 TabIndex = 8 Top = 600 Width = 975 End Begin VB.Label lbPlayTime Alignment = 1 ' BackStyle = 0 ' Height = 255 Left = 5400 TabIndex = 7 Top = 1080 Width = 735 End Begin VB.Label lbState BackStyle = 0 ' Height = 255 Left = 2880 TabIndex = 6 Top = 1320 Width = 1455 End Begin VB.Label Label2 BackStyle = 0 ' Caption = " Height = 255 Left = 1800 TabIndex = 5 Top = 1320 Width = 975 End Attribute VB_Name = "frmPLAY" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Dim curSec As Long ' Dim viewType As Long Dim sfFlag As Integer ' Dim window As Long Private Sub btMpegInfo_Click() Dim MpegData As MPEG_INFO Dim sYes As String Dim sNo As String sYes = "Yes" sNo = "No" 'mpeg If vbmp3_getMpegInfo(MpegData) = False Then lbMpegInfo.Caption = "FileSize = " & vbCrLf & _ "TotalTime = " & vbCrLf & _ "Frames = " & vbCrLf & _ "MPEG-n" & _ " Layer n" & vbCrLf & _ "bitrate = " & vbCrLf & _ "SamplingRate = " & vbCrLf & _ "Mode = " & vbCrLf & _ "CRCs = " & vbCrLf & _ "Private = " & vbCrLf & _ "Original = " & vbCrLf & _ "Copyright = " & vbCrLf & _ "Emphasis = " & vbCrLf Exit Sub End If lbMpegInfo.Caption = "FileSize = " & MpegData.fileSize & " Byte" & vbCrLf & _ "TotalTime = " & MpegData.TotalSec & "sec" & vbCrLf & _ "Frames = " & MpegData.flames & vbCrLf & _ "MPEG-" & IIf(MpegData.version = 3, "2.5", MpegData.version) & _ " Layer " & MpegData.layer & vbCrLf & _ "bitrate = " & MpegData.bitrate & "kbit/sec" & vbCrLf & _ "SamplingRate = " & MpegData.samplingRate & "Hz" & vbCrLf Select Case MpegData.mode Case 0 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Stereo" & vbCrLf Case 1 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Joint stereo" & vbCrLf Case 2 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Dual channel" & vbCrLf Case 3 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Mono" & vbCrLf End Select If MpegData.crcDisable = 0 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "CRCs = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "CRCs = " & sNo & vbCrLf End If If MpegData.extension = 1 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "Private = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "Private = " & sNo & vbCrLf End If If MpegData.original = 1 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "Original = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "Original = " & sNo & vbCrLf End If If MpegData.copyright = 1 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "Copyright = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "Copyright = " & sNo & vbCrLf End If Select Case MpegData.emphasis Case 0 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = None" & vbCrLf Case 1 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = 50/15ms" & vbCrLf Case 2 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = Reserved" & vbCrLf Case 3 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = CCITT j.17" & vbCrLf End Select End Sub Private Sub btOpen_Click() Dim Data As InputInfo Dim result As Boolean Dim cnt As Integer Dim MpegData As MPEG_INFO Dim chkMp3Data As Boolean If Dir(txtFile.Text) = "" Then Exit Sub Call vbmp3_setFrameReadFlag(chkFrameRead.Value) ' Call vbmp3_stop Timer.Enabled = False TimeView.Enabled = True ' If vbmp3_open(Trim(txtFile.Text), Data) = False Then MsgBox "ErrNo : " & vbmp3_getLastErrorNo & " Open Error" Exit Sub End If openFlag = True frmLyrics.Show ' For cnt = 0 To 4 frmLyrics.lbLyrics(cnt).Caption = "" Next cnt frmLyrics.lbLyrics(0).ForeColor = &HFFFFFF frmLyrics.lbLyrics(1).ForeColor = &HFFFFFF ' If chkLyrics3.Value = 0 Then If vbmp3_setLyricsFile(left(Trim(txtFile.Text), Len(Trim(txtFile.Text)) - 4) & ".txt") Then End If Else Call vbmp3_readLyrics3Data End If If vbmp3_checkTimeTag = 2 Then frmLyrics.lbKaraoke.Caption = " ElseIf vbmp3_checkTimeTag = 1 Then frmLyrics.lbKaraoke.Caption = " Else frmLyrics.lbKaraoke.Caption = " End If With Data ' If NTrim(.szTrackName) = "WAVE_FORMAT_PCM" And NTrim(.szArtistName) = "WAVE_FORMAT_PCM" Then chkMp3Data = False Else chkMp3Data = True End If If chkMp3Data Then lbBitRateLabel = " lbBitRate = .bitrate & " kbit/s" If .bitrate = 0 Then lbBitRate = lbBitRate & " (VBR Else lbBitRateLabel = " lbBitRate = .bitrate & " bit/sample" End If If .channels = 2 Then lbChannels = "stereo" Else lbChannels = "mono" End If If chkMp3Data Then lbArtistName = NTrim(.szArtistName) Else lbArtistName = "Windows End If lbTrackName = NTrim(.szTrackName) lbSamplingRate = .samplingRate / 1000 & " kHz" If sfFlag = 0 Then lbTotalSec = Format(Int(.TotalSec / 60), "00") & ":" & Format((.TotalSec Mod 60), "00") ElseIf sfFlag = 1 Then Call vbmp3_getMpegInfo(MpegData) lbTotalSec = MpegData.flames Else lbTotalSec = vbmp3_getTotalSamples End If lbTotalSec2 = lbTotalSec lbPlayTime2 = "00:00" 'seek scSeek.Max = .TotalSec If .TotalSec > 10 Then scSeek.LargeChange = .TotalSec / 10 Else scSeek.LargeChange = 1 End If End With Call getState ' frmLyrics.lbLyrics(0).Caption = lbTrackName.Caption frmLyrics.lbLyrics(1).Caption = " F" & lbArtistName.Caption Debug.Print " F" & vbmp3_getSilentFrames(Trim(txtFile.Text)) End Sub Private Sub btPause_Click() If getState = 2 Then ' Call vbmp3_restart ' Timer.Enabled = True TimeView.Enabled = True Else ' Call vbmp3_pause ' Timer.Enabled = False TimeView.Enabled = False End If Call getState ' End Sub Private Sub btPlay_Click() Dim l, r As Long Dim flames As Long stopFlag = False If getState = 2 Then ' Call vbmp3_restart ' Else pos = 0 picWave.left = 0 picWave.Cls lineCenter.X1 = -120 lineCenter.X2 = 1560 ' l = scLVol.Value r = scRVol.Value Call vbmp3_play ' Call vbmp3_setVolume(l, r) ' End If Call getState ' Timer.Enabled = True TimeView.Enabled = True End Sub Private Sub btStop_Click() Call vbmp3_stop ' Call vbmp3_encodeStop ' Timer.Enabled = True TimeView.Enabled = True stopFlag = True Call getState ' End Sub Private Sub btTagInfo_Click() Dim TagData As TAG_INFO ' If vbmp3_getTagInfo(TagData) = False Then Exit Sub lbTagTrack.Caption = TagData.szTrackName lbTagArtist.Caption = TagData.szArtistName lbTagAlbum.Caption = TagData.szAlbumName lbTagYear.Caption = TagData.szYear lbTagComment.Caption = TagData.szComment lbTagGenre.Caption = TagData.szGenreName End Sub Private Sub chkFadeIn_Click() Call vbmp3_setFadeIn(chkFadeIn.Value) End Sub Private Sub chkFadeOut_Click() Call vbmp3_setFadeOut(chkFadeOut.Value) End Sub Private Sub cmd3x_Click() End Sub Private Sub chkQuickSeek_Click() ' Call vbmp3_quickSeek(chkQuickSeek.Value) End Sub Private Sub cmdChgSecFlame_Click() Dim MpegData As MPEG_INFO Call vbmp3_getMpegInfo(MpegData) If sfFlag = 0 Then sfFlag = 1 lbTotalSec = MpegData.flames ElseIf sfFlag = 1 Then sfFlag = 2 lbTotalSec = vbmp3_getTotalSamples Else sfFlag = 0 lbTotalSec = Format(Int(MpegData.TotalSec / 60), "00") & ":" & Format((MpegData.TotalSec Mod 60), "00") End If Call getState ' End Sub Private Sub cmdChgWindow_Click() If window > 3 Then window = 0 Else window = window + 1 End If Call vbmp3_setFftWindow(window) End Sub Private Sub cmdDecGet_Click() Dim opt As DEC_OPTION Call vbmp3_getDecodeOption(opt) txtSam.Text = opt.reduction txtChan.Text = opt.convert txtFre.Text = opt.freqLimit txtPitch.Text = vbmp3_getPitch End Sub Private Sub cmdDecodeWave_Click() Dim l, r As Long If Dir(txtFile.Text) = "" Then Exit Sub If getState = 2 Then ' Call vbmp3_restart ' Else ' If MsgBox(" ", vbQuestion + vbYesNo, " F") = vbYes Then Call vbmp3_playDecodeWave(Trim(txtFile.Text) & ".wav") ' Else Call vbmp3_decodeWave(Trim(txtFile.Text) & ".wav") ' End If End If Call getState ' Timer.Enabled = True TimeView.Enabled = True End Sub Private Sub cmdEncode_Click() Dim pWaveForm As WAVE_FORM Dim outFile As String outFile = left(Trim(txtFile.Text), Len(Trim(txtFile.Text)) - 4) outFile = outFile + ".mp3" If vbmp3_encodeOpen(Trim(txtFile.Text), pWaveForm) Then lbBitRate = pWaveForm.bitsPerSample & "bit(bit/sample)" If pWaveForm.channels = 2 Then lbChannels = "stereo" Else lbChannels = "mono" End If lbSamplingRate = pWaveForm.samplingRate / 1000 & "kHz" lbArtistName = pWaveForm.dataSize lbTrackName = 0 Call vbmp3_encodeStart(outFile) Timer.Enabled = True End If End Sub Private Sub cmdFadeOutNow_Click() Call vbmp3_fadeOut End Sub Private Sub cmdGE_Click() frmGE.Show End Sub Private Sub cmdGenreGet_Click() Dim TagData As TAG_INFO If IsNumeric(txtGenreNo.Text) = False Then Exit Sub TagData.genre = Val(txtGenreNo.Text) Call vbmp3_getGenre(TagData) lbGenreName.Caption = NTrim(TagData.szGenreName) End Sub Private Sub cmdGetList_Click() Dim ListData As LIST_INFO Dim listString As String If vbmp3_getListInfo(ListData) = False Then Exit Sub lbListINAM.Caption = NTrim(ListData.INAM) lbListIART.Caption = NTrim(ListData.IART) lbListIPRD.Caption = NTrim(ListData.IPRD) lbListICMT.Caption = NTrim(ListData.ICMT) lbListICRD.Caption = NTrim(ListData.ICRD) lbListIGNR.Caption = NTrim(ListData.IGNR) lbListICOP.Caption = NTrim(ListData.ICOP) lbListIENG.Caption = NTrim(ListData.IENG) lbListISRC.Caption = NTrim(ListData.ISRC) lbListISFT.Caption = NTrim(ListData.ISFT) lbListIKEY.Caption = NTrim(ListData.IKEY) lbListITCH.Caption = NTrim(ListData.ITCH) lbListILYC.Caption = NTrim(ListData.ILYC) lbListICMS.Caption = NTrim(ListData.ICMS) End Sub Private Sub cmdGetVol_Click() Dim l As Long Dim r As Long Call vbmp3_getVolume(l, r) End Sub Private Sub cmdNomal_Click() Call vbmp3_setStepPitch(1) Call cmdVbmp3Get_Click End Sub Private Sub cmdOptSam_Click() Dim opt As DEC_OPTION Dim pitch As Long opt.reduction = Val(txtSam.Text) opt.convert = Val(txtChan.Text) opt.freqLimit = Val(txtFre.Text) pitch = Val(txtPitch.Text) If vbmp3_setDecodeOption(opt) = False Then MsgBox "error" End If If vbmp3_setPitch(pitch) = False Then MsgBox "error" End If End Sub Private Sub cmdSiEdit_Click() frmSiInput.Show End Sub Private Sub cmdTagEdit_Click() frmTagInput.Show End Sub Private Sub cmdVbmp3Get_Click() Dim opt As VBMP3_OPTION Call vbmp3_getVbmp3Option(opt) txtInFlame.Text = opt.inputBlock txtOutFlame.Text = opt.outputBlock txtInSleep.Text = opt.inputSleep txtOutSleep.Text = opt.outputSleep End Sub Private Sub cmdVbmp3Opt_Click() Dim opt As VBMP3_OPTION opt.inputBlock = Val(txtInFlame.Text) opt.outputBlock = Val(txtOutFlame.Text) opt.inputSleep = Val(txtInSleep.Text) opt.outputSleep = Val(txtOutSleep.Text) If vbmp3_setVbmp3Option(opt) = False Then MsgBox "error" End If End Sub Private Sub cmdx2_Click() Call vbmp3_setStepPitch(2) Call cmdVbmp3Get_Click End Sub Private Sub cmdx3_Click() Call vbmp3_setStepPitch(3) Call cmdVbmp3Get_Click End Sub Private Sub Command1_Click() frmLyrics3Input.Show End Sub Private Sub Command2_Click() Dim a(1000) As LYRICS_DATA MsgBox "aa" End Sub Private Sub Form_Load() Dim VerNo As Long Dim l As Long Dim r As Long Dim chkDev As Long Dim result As Boolean Call vbmp3_init 'VBMP3.DLL Call getState ' ' chkDev = vbmp3_getWaveOutSupport If chkDev = 0 Then scLVol.Enabled = False scRVol.Enabled = False End If Call vbmp3_getVolume(l, r) ' scLVol.Value = l scRVol.Value = r sfFlag = 0 stopFlag = True ' openFlag = False ' viewType = 1 'WAVE VerNo = vbmp3_getVersion() 'Version No btMpegInfo_Click Call vbmp3_setEqualizer(ByVal 0&) ' ' nonProc = False If MsgBox(" H(VB5 )", vbQuestion + vbYesNo, " F") = vbYes Then Call vbmp3_callback(AddressOf vbmp3_Proc) nonProc = True ' End If TimeView.Interval = 0 If MsgBox("WAVE H", vbQuestion + vbYesNo, " F") = vbYes Then TimeView.Interval = 100 ' End If ' Call vbmp3_setKaraokeUse(1) ' Call vbmp3_useAtMarkTag(1) ' Call vbmp3_setLyricsNextAdjustTime(1000) ' Call vbmp3_quickSeek(chkQuickSeek.Value) ' ' result = vbmp3_startCallBackTimer(AddressOf vbmp3_TimerProc, 50, 0, 0) ' If result = False Then ' MsgBox " ' End If Call cmdVbmp3Get_Click frmLyrics.Show Me.Caption = "Sample MP3 Player [VBMP3 Ver." & VerNo / 100 & "]" End Sub Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) If Data.GetFormat(vbCFFiles) Then txtFile.Text = Data.Files(1) End If End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) ' nonProc = False ' Unload frmLyrics ' Call vbmp3_stopCallback ' MsgBox "1" ' Call vbmp3_free 'VBMP3.DLL ' MsgBox "2" End Sub Private Sub Form_Unload(Cancel As Integer) nonProc = False Unload frmLyrics Call vbmp3_stop Call vbmp3_stopCallback Call vbmp3_free 'VBMP3.DLL End End Sub Private Sub btFileInfo_Click() Dim TagData As TAG_INFO Dim MpegData As MPEG_INFO Dim ListData As LIST_INFO Dim sYes As String Dim sNo As String sYes = "Yes" sNo = "No" If vbmp3_getFileInfo2(Trim(txtFile.Text), TagData, MpegData, ListData) = False Then lbTagTrack.Caption = "" lbTagArtist.Caption = "" lbTagAlbum.Caption = "" lbTagYear.Caption = "" lbTagComment.Caption = "" lbTagGenre.Caption = "" lbListINAM.Caption = "" lbListIART.Caption = "" lbListIPRD.Caption = "" lbListICMT.Caption = "" lbListICRD.Caption = "" lbListIGNR.Caption = "" lbListICOP.Caption = "" lbListIENG.Caption = "" lbListISRC.Caption = "" lbListISFT.Caption = "" lbListIKEY.Caption = "" lbListITCH.Caption = "" lbListILYC.Caption = "" lbListICMS.Caption = "" lbMpegInfo.Caption = "FileSize = " & vbCrLf & _ "TotalTime = " & vbCrLf & _ "Frames = " & vbCrLf & _ "MPEG-n" & _ " Layer n" & vbCrLf & _ "bitrate = " & vbCrLf & _ "SamplingRate = " & vbCrLf & _ "Mode = " & vbCrLf & _ "CRCs = " & vbCrLf & _ "Private = " & vbCrLf & _ "Original = " & vbCrLf & _ "Copyright = " & vbCrLf & _ "Emphasis = " & vbCrLf Exit Sub End If lbTagTrack.Caption = TagData.szTrackName lbTagArtist.Caption = TagData.szArtistName lbTagAlbum.Caption = TagData.szAlbumName lbTagYear.Caption = TagData.szYear lbTagComment.Caption = TagData.szComment lbTagGenre.Caption = TagData.szGenreName lbListINAM.Caption = NTrim(ListData.INAM) lbListIART.Caption = NTrim(ListData.IART) lbListIPRD.Caption = NTrim(ListData.IPRD) lbListICMT.Caption = NTrim(ListData.ICMT) lbListICRD.Caption = NTrim(ListData.ICRD) lbListIGNR.Caption = NTrim(ListData.IGNR) lbListICOP.Caption = NTrim(ListData.ICOP) lbListIENG.Caption = NTrim(ListData.IENG) lbListISRC.Caption = NTrim(ListData.ISRC) lbListISFT.Caption = NTrim(ListData.ISFT) lbListIKEY.Caption = NTrim(ListData.IKEY) lbListITCH.Caption = NTrim(ListData.ITCH) lbListILYC.Caption = NTrim(ListData.ILYC) lbListICMS.Caption = NTrim(ListData.ICMS) lbMpegInfo.Caption = "FileSize = " & MpegData.fileSize & " Byte" & vbCrLf & _ "TotalTime = " & MpegData.TotalSec & "sec" & vbCrLf & _ "Frames = " & MpegData.flames & vbCrLf & _ "MPEG-" & IIf(MpegData.version = 3, "2.5", MpegData.version) & _ " Layer " & MpegData.layer & vbCrLf & _ "bitrate = " & MpegData.bitrate & "kbit/sec" & vbCrLf & _ "SamplingRate = " & MpegData.samplingRate & "Hz" & vbCrLf Select Case MpegData.mode Case 0 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Stereo" & vbCrLf Case 1 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Joint stereo" & vbCrLf Case 2 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Dual channel" & vbCrLf Case 3 lbMpegInfo.Caption = lbMpegInfo.Caption & "Mode = Mono" & vbCrLf End Select If MpegData.crcDisable = 0 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "CRCs = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "CRCs = " & sNo & vbCrLf End If If MpegData.extension = 1 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "Private = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "Private = " & sNo & vbCrLf End If If MpegData.original = 1 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "Original = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "Original = " & sNo & vbCrLf End If If MpegData.copyright = 1 Then lbMpegInfo.Caption = lbMpegInfo.Caption & "Copyright = " & sYes & vbCrLf Else lbMpegInfo.Caption = lbMpegInfo.Caption & "Copyright = " & sNo & vbCrLf End If Select Case MpegData.emphasis Case 0 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = None" & vbCrLf Case 1 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = 50/15ms" & vbCrLf Case 2 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = Reserved" & vbCrLf Case 3 lbMpegInfo.Caption = lbMpegInfo.Caption & "Emphasis = CCITT j.17" & vbCrLf End Select End Sub Private Sub hscPitch_Change() Call vbmp3_setPitch(hscPitch.Value) txtPitch.Text = vbmp3_getPitch End Sub Private Sub hscPitch_Scroll() Call vbmp3_setPitch(hscPitch.Value) txtPitch.Text = vbmp3_getPitch End Sub Private Sub picWave_Click() If viewType = 1 Then viewType = 2 picWave.Cls lineCenter.Visible = False picWave.BackColor = vbBlack ElseIf viewType = 2 Then viewType = 3 picWave.Cls ElseIf viewType = 3 Then viewType = 4 picWave.Cls ElseIf viewType = 4 Then viewType = 5 picWave.Cls ElseIf viewType = 5 Then viewType = 6 picWave.Cls ElseIf viewType = 6 Then viewType = 1 picWave.Cls lineCenter.Visible = True picWave.BackColor = vbWhite End If End Sub Private Sub scLVol_Change() Dim l, r As Long l = scLVol.Value r = scRVol.Value Call vbmp3_setVolume(l, r) ' Call vbmp3_getVolume(l, r) ' End Sub Private Sub scRVol_Change() Dim l, r As Long l = scLVol.Value r = scRVol.Value Call vbmp3_setVolume(l, r) ' End Sub Private Sub scSeek_Change() Dim sec As Long Dim state As Long If scSeek.LargeChange <= 1 Then Exit Sub If scSeek.Value = 0 And stopFlag = True Then Exit Sub sec = scSeek.Value If (sec >= (curSec + scSeek.LargeChange) Or sec < curSec) Or stopFlag = True Then Call vbmp3_seek(sec) ' state = vbmp3_getState(sec) If state = 0 Then Exit Sub End If stopFlag = False Call getState ' Timer.Enabled = True TimeView.Enabled = True End Sub Private Sub scSeek_Scroll() Dim sec As Long sec = scSeek.Value Call vbmp3_seek(sec) 'seek End Sub Private Sub scSoftVol_Change() Call vbmp3_setSoftVolume(scSoftVol.Value, scSoftVol.Value) End Sub Private Sub scSoftVol_Scroll() Call vbmp3_setSoftVolume(scSoftVol.Value, scSoftVol.Value) End Sub Private Sub Timer_Timer() Dim state As Long Dim sec As Long Call getState ' Load frmLyrics Call setLyrics ' state = vbmp3_getState(sec) ' If stopFlag = False And openFlag = True And state = 0 Then Call btPlay_Click End If End Sub Function getState() As Long Dim state As Long Dim encState As Long Dim sec As Long Dim readSize As Long Dim encodeSize As Long Dim br As Long ' state = vbmp3_getState(sec) encState = vbmp3_getEncodeState(readSize, encodeSize) If encState = 1 Then lbState = " lbTrackName = readSize & "(" & encodeSize & ")" Else ' If state = 0 Then lbState = " Timer.Enabled = False TimeView.Enabled = True ElseIf state = 1 Then lbState = " br = vbmp3_getPlayBitRate lbBitRate.Caption = br & " kbit/s" Else lbState = " End If End If ' If lbTotalSec <> "" Then If sfFlag = 0 Then lbPlayTime.Caption = Format(Int(sec / 60), "00") & ":" & Format((sec Mod 60), "00") ElseIf sfFlag = 1 Then lbPlayTime.Caption = vbmp3_getPlayFlames Else lbPlayTime.Caption = vbmp3_getPlaySamples End If End If curSec = sec scSeek.Value = sec getState = state End Function Function setLyrics() Dim lyricsInfo As LYRICS_INFO2 Dim waPlayMs As Long Dim waTotalSec As Long Dim lyTextSize As Long Dim lyBefTextSize As Long Dim lyCurTextSize As Long Dim point As Double Dim lyPoint As Long Dim lyLine As Long Dim lyCnt As Long Dim lyText As String Dim vPicPoint As Long Dim vHeight As Long Dim vCurTop As Long Dim lyLen As Long waPlayMs = vbmp3_getWinampPlayMs waTotalSec = vbmp3_getWinampTotalSec Call vbmp3_getLyrics2(lyricsInfo) frmLyrics.lbLyrics(0).Caption = lyricsInfo.LyricsPrev2 frmLyrics.lbLyrics(1).Caption = lyricsInfo.LyricsPrev1 frmLyrics.lbLyrics(2).Caption = lyricsInfo.LyricsCurrentAll frmLyrics.lbLyrics(3).Caption = lyricsInfo.LyricsNext1 frmLyrics.lbLyrics(4).Caption = lyricsInfo.LyricsNext2 ' If (lyricsInfo.length <> 0) Then frmLyrics.lbWork1.Caption = Trim(NTrim(lyricsInfo.LyricsCurrentLyrics)) frmLyrics.lbWork2.Caption = Trim(NTrim(lyricsInfo.LyricsCurrentBegin)) lyTextSize = frmLyrics.lbWork1.Width lyBefTextSize = frmLyrics.lbWork2.Width point = (waPlayMs - lyricsInfo.sec) / lyricsInfo.length lyCurTextSize = (lyTextSize - lyBefTextSize) * point lyCurTextSize = lyBefTextSize + lyCurTextSize End If If frmLyrics.chkViewType.Value = 1 Then frmLyrics.lbLyrics(6).Visible = True If frmLyrics.lbLyrics(5).Width <> 6735 Then frmLyrics.lbLyrics(5).Width = 6735 frmLyrics.lbLyrics(5).Caption = lyricsInfo.LyricsCurrentLyrics frmLyrics.lbLyrics(6).Caption = lyricsInfo.LyricsCurrentBegin Else frmLyrics.lbLyrics(6).Visible = False frmLyrics.lbLyrics(5).Caption = lyricsInfo.LyricsCurrentAll ' If (lyricsInfo.length <> 0) Then If Len(frmLyrics.lbWork1.Caption) = 0 Then frmLyrics.lbLyrics(5).Width = 0 ElseIf lyCurTextSize >= 0 Then frmLyrics.lbLyrics(5).Width = lyCurTextSize End If End If End If ' lyPoint = vbmp3_getLyricsPoint If lyPoint > 0 Then ' lyLine = lyricsData2(lyPoint).lineno If (lyPoint + 1 < maxLyNo) Then lyLen = lyricsData2(lyPoint + 1).sec - lyricsData2(lyPoint).sec Else lyLen = 0 End If lyText = "" For lyCnt = 0 To 999 If lyricsData2(lyCnt).point = 1 And lyricsData2(lyCnt).lineno > 0 Then lyText = lyText & vbCrLf If lyricsData2(lyCnt).lineno = lyLine Then lyText = lyText & lyricsData2(lyCnt).lyrics ElseIf lyricsData2(lyCnt).lineno > lyLine Then Exit For End If Next lyCnt ' If frmLyrics2.lbCurLyrics.Caption <> lyText Then frmLyrics2.lbCurLyrics.Caption = lyText End If If (lyLen <> 0) Then If Len(frmLyrics.lbWork1.Caption) = 0 Then lyCurTextSize = 0 End If If frmLyrics2.lbCurLyrics.Width <> lyCurTextSize Then frmLyrics2.lbCurLyrics.Width = lyCurTextSize End If End If ' vHeight = frmLyrics2.lbLyrics.Height / (maxLineNo + 1) vPicPoint = frmLyrics2.picLyricsView.Height / 2 - vHeight / 2 If vPicPoint < 0 Then vPicPoint = 0 vCurTop = lyLine * vHeight - vPicPoint If frmLyrics2.lbLyrics.Top <> -vCurTop Then frmLyrics2.lbLyrics.Top = -vCurTop frmLyrics2.lbCurLyrics.Top = -vCurTop End If End If frmLyrics.lbLyrics(0).ForeColor = &H808080 frmLyrics.lbLyrics(1).ForeColor = &H808080 frmLyrics.Caption = " (" & Format(Int(waPlayMs / 60000), "00") & ":" & _ Format((waPlayMs / 1000 Mod 60), "00") & ":" & _ Format((waPlayMs Mod 1000), "000") & " / " & _ Format(Int(waTotalSec / 60), "00") & ":" & Format((waTotalSec Mod 60), "00") & " ) " End Function Private Sub TimeView_Timer() Dim m_specTblL(255) As Long Dim m_specTblR(255) As Long Dim m_waveTblL(255) As Long Dim m_waveTblR(255) As Long Dim i As Long Dim j As Long Dim y As Long Dim XX As Long Dim YY As Long Dim v As Long Dim curData As Long Dim waveData As WAVE_DATA Dim rr As Integer Dim gg As Integer Dim bb As Integer Dim lv As Long Dim rv As Long '---- ------ If viewType = 1 Then Call vbmp3_getWave(m_waveTblL(0), m_waveTblR(0)) picWave.Cls ' m_waveTblL(0) = (m_waveTblL(0) + m_waveTblR(0)) / 2 + 100 XX = 0 YY = ((picWave.Height / 200) * m_waveTblL(0)) / 15 Call MoveToEx(picWave.hdc, XX, YY, 0&) Call LineTo(picWave.hdc, XX, YY) lv = Abs(m_waveTblL(0)) rv = Abs(m_waveTblR(0)) For i = 1 To 127 j = i * 2 lv = lv + Abs(m_waveTblL(j)) rv = rv + Abs(m_waveTblR(j)) 'If lv < Abs(m_waveTblL(j)) Then lv = Abs(m_waveTblL(j)) 'If rv < Abs(m_waveTblR(j)) Then rv = Abs(m_waveTblR(j)) m_waveTblL(j) = (m_waveTblL(j) + m_waveTblR(j)) / 2 + 100 ' XX = ((picWaveFrm.ScaleWidth / 256) * j) / 15 YY = ((picWave.Height / 200) * m_waveTblL(j)) / 15 Call LineTo(picWave.hdc, XX, YY) ' 'Call SetPixel(picWave.hdc, XX, YY, RGB(255, 255, 255)) Next i lv = lv / 128 * 5 rv = rv / 128 * 5 If lv > 100 Then lv = 100 If rv > 100 Then rv = 100 Else Call vbmp3_getSpectrum(m_specTblL(0), m_specTblR(0)) picWave.Cls Dim sp As Integer Dim maxCnt As Integer Select Case viewType Case 2 sp = 1 maxCnt = 255 Case 3 sp = 2 maxCnt = 127 Case 4 sp = 3 maxCnt = 85 Case 5, 6 sp = 4 maxCnt = 63 End Select For i = 0 To maxCnt Step sp If tm < m_specTblL(i * sp) Then tm = m_specTblL(i * sp) If tm < m_specTblR(i * sp) Then tm = m_specTblR(i * sp) If m_specTblL(i * sp) > m_specTblR(i * sp) Then y = (picWave.Height / 70) * (m_specTblL(i * sp) - 40) Else y = (picWave.Height / 70) * (m_specTblR(i * sp) - 40) End If If spec(i * sp) < y Then spec(i * sp) = y Else spec(i * sp) = spec(i * sp) - 100 If spec(i * sp) < 0 Then spec(i * sp) = 0 If spec(i * sp) < y Then spec(i * sp) = y y = spec(i * sp) End If If spec2(i * sp) < y Then spec2(i * sp) = y YY = spec2(i * sp) Else spec2(i * sp) = spec2(i * sp) - 30 If spec2(i * sp) < 0 Then spec2(i * sp) = 0 If spec2(i * sp) < y Then spec2(i * sp) = y YY = spec2(i * sp) End If y = picWave.Height - y - 10 YY = picWave.Height - YY - 10 If viewType <= 5 Then For j = picWave.Height - 10 To y Step -15 rr = 255 gg = j * 255 / picWave.Height gg = gg * 2 - 255 If gg > 255 Then gg = 255 If gg < 0 Then gg = 0 bb = 0 ' API Call SetPixel(picWave.hdc, i, j / 15, RGB(rr, gg, bb)) 'picWave.PSet (i * 15, j), RGB(rr, gg, bb) If viewType >= 3 Then Call SetPixel(picWave.hdc, (i + 1), j / 15, RGB(rr, gg, bb)) 'If viewType = 2 Then picWave.PSet ((i + 1) * 15, j), RGB(rr, gg, bb) Next j End If Call SetPixel(picWave.hdc, i, YY / 15, vbYellow) 'picWave.PSet (i * 15, YY), vbYellow If viewType >= 3 Then Call SetPixel(picWave.hdc, (i + 1), YY / 15, vbYellow) 'If viewType = 2 Or viewType = 4 Then picWave.PSet ((i + 1) * 15, YY), vbYellow Next i End If '---- ------------------------------------------------ End Sub