📄 mp3towav.vb
字号:
Me.Text = "Qingyuan Mp3 To Wav V1.01"
CType(Me.MP, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.StatusBar1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Pbar, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Sder, System.ComponentModel.ISupportInitialize).EndInit()
Me.Frame4.ResumeLayout(False)
Me.Frame2.ResumeLayout(False)
Me.Frame1.ResumeLayout(False)
Me.FK.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
#Region "升级支持"
Private Shared m_vb6FormDefInstance As Mp3ToWav
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As Mp3ToWav
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New Mp3ToWav()
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set
m_vb6FormDefInstance = Value
End Set
End Property
#End Region
Dim Pok As Integer
Dim Pn As String
Dim PKey As String
Dim Sheng As String
Dim ToWavSong As String
Dim PS As Integer
Dim Comline As String
Private Sub Check2_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Check2.CheckStateChanged
If Check2.CheckState = 1 Then
Me.Height = VB6.TwipsToPixelsY(6500)
FK.Visible = True
Else
Me.Height = VB6.TwipsToPixelsY(4550)
FK.Visible = False
End If
End Sub
Private Sub Check2_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles Check2.MouseMove
Dim Button As Short = eventArgs.Button \ &H100000
Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
Dim X As Single = VB6.PixelsToTwipsX(eventArgs.X)
Dim Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)
StatusBar1.Panels(1).Text = ToolTip1.GetToolTip(Check2)
End Sub
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
Dim Index As Short = Command1.GetIndex(eventSender)
On Error Resume Next
Select Case Index
Case 0
Command1(1).Enabled = True
Command1(2).Enabled = True
Command1(4).Enabled = False
Command1(6).Enabled = False
Sder.Enabled = True
MP.Close()
PS = MP.Open(PlaySong.Text, "")
MPinfo()
MP.Play()
Case 1
MP.Pause()
If Command1(0).Enabled = True Then
Command1(0).Enabled = False
ElseIf Command1(0).Enabled = False Then
Command1(0).Enabled = True
End If
Case 2
MP.Close()
Sder.Value = 0
Command1(1).Enabled = False
Sder.Enabled = False
Command1(0).Enabled = True
Command1(4).Enabled = True
Command1(6).Enabled = True
Case 3
Pn = ""
Sheng = ""
ToWavSong = ""
End
Case 4
ToWavSong = InputBox("请输入目标文件路径(无须输入扩展名WAV):", "请输入", VB.Left(PlaySong.Text, Len(PlaySong.Text) - 4))
If ToWavSong = "" Then GoTo Box
'PS = MP.Open(PlaySong, ToWavSong & ".wav")
PS = MP.Open(PlaySong.Text, ToWavSong)
System.Diagnostics.Debug.WriteLine(PS)
Sder.Value = CInt(Text1.Text)
MP.Play()
MP.Seek(CInt(Text1.Text))
Timer1.Enabled = True
Case 5
OpenMpx.DefInstance.Show()
Case 6
PS = MP.Open(PlaySong.Text, "")
Sder.Value = CInt(Text1.Text)
MP.Play()
MP.Seek(CInt(Text1.Text))
Timer1.Enabled = True
Case 7
Sder.Value = Sder.Value + 100
PS = MP.Seek(Sder.Value)
Case 8
Sder.Value = Sder.Value - 100
PS = MP.Seek(Sder.Value)
End Select
Box:
End Sub
Private Sub Command1_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles Command1.MouseMove
Dim Button As Short = eventArgs.Button \ &H100000
Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
Dim X As Single = VB6.PixelsToTwipsX(eventArgs.X)
Dim Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)
Dim Index As Short = Command1.GetIndex(eventSender)
If Index = 4 Then
ToolTip1.SetToolTip(Command1(4), "转换。可能存在少许的时间误差。")
End If
StatusBar1.Panels(1).Text = ToolTip1.GetToolTip(Command1(Index))
End Sub
Sub ReadINI()
R = GetPrivateProfileString(INIDuan, INIKey, INIDefault, INIGet, I, INIFile)
End Sub
Sub WriteINI()
R = WritePrivateProfileString(INIDuan, INIKey, INIStr, INIFile)
End Sub
Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
INIDuan = "Reginfo"
INIKey = "User"
INIStr = Text3.Text
WriteINI()
INIKey = "RegCode"
INIStr = Text4.Text
WriteINI()
End Sub
Private Sub Command2_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles Command2.MouseMove
Dim Button As Short = eventArgs.Button \ &H100000
Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
Dim X As Single = VB6.PixelsToTwipsX(eventArgs.X)
Dim Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)
StatusBar1.Panels(1).Text = ToolTip1.GetToolTip(Command2)
End Sub
Private Sub FK_MouseMove(ByRef Button As Short, ByRef Shift As Short, ByRef X As Single, ByRef Y As Single)
Label3.ForeColor = System.Drawing.ColorTranslator.FromOle(&H0)
Label3.Font = VB6.FontChangeBold(Label3.Font, False)
End Sub
Private Sub Mp3ToWav_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
On Error Resume Next
'Comline = GetCommandLine
If Len(VB6.GetPath) = 3 Then
Mypath = VB6.GetPath
Else
Mypath = VB6.GetPath & "\"
End If
INIFile = Mypath & "Mtw.ini"
INIDuan = "Reginfo"
INIDefault = " "
INIGet = New String(Chr(10), 255)
I = Len(INIGet) + 1
INIKey = "User"
ReadINI()
Me.Text = INIGet
Pn = Me.Text
Text3.Text = Pn
INIKey = "RegCode"
ReadINI()
Me.Text = INIGet
PKey = Me.Text
Text4.Text = PKey
Me.Text = "Qingyuan Mp3 To Wav V1.01"
Image1.Image = Me.Icon.ToBitmap
Pok = MP.Authorize(Pn, PKey)
If Pok <> 0 Then
Check2.CheckState = System.Windows.Forms.CheckState.Checked
MsgBox("Mp3play.ocx 控件没有注册,请输入正确的注册码,否则程序只能转换MP3文件的前35秒。", 64)
End If
End Sub
Sub MPinfo()
MP.FrameNotifyCount = 10
Sder.Max = MP.FrameCount
Pbar.Max = Sder.Max
If MP.MPEGMode = 4 Then
Sheng = "立体声:否"
ElseIf MP.MPEGMode = 2 Then
Sheng = "立体声:是"
End If
MName.Text = "曲目:" & UCase(Dir(PlaySong.Text))
ShDao.Text = Sheng
Zheng.Text = "长度:" & MP.FrameCount & "帧,计 " & VB6.Format(MP.FrameCount * MP.MsPerFrame \ 1000 \ 60, "#0分") & VB6.Format((MP.FrameCount * MP.MsPerFrame) \ 1000 Mod 60, "00 秒")
Caiyin.Text = "采音频率:" & MP.SampleFrequency \ 1000 & " khz"
BitS.Text = "BitRate:" & MP.BitRate \ 1000 & " kbps"
Text2.Text = CStr(MP.FrameCount)
ZHinfo()
End Sub
Sub ZHinfo()
On Error Resume Next
Zhongchang.Text = "长度为:" & VB6.Format((CDbl(Text2.Text) - CDbl(Text1.Text)) * MP.MsPerFrame / 1000, "#0.00 秒")
Sder.SelStart = CInt(Text1.Text)
Sder.SelLength = CDbl(Text2.Text) - CDbl(Text1.Text)
End Sub
Private Sub Image1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Image1.Click
Shell("SNDVOL32.EXE", 1)
End Sub
Private Sub Image1_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles Image1.MouseMove
Dim Button As Short = eventArgs.Button \ &H100000
Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
Dim X As Single = VB6.PixelsToTwipsX(eventArgs.X)
Dim Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)
StatusBar1.Panels(1).Text = ToolTip1.GetToolTip(Image1)
End Sub
Private Sub Label2_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles Label2.MouseMove
Dim Button As Short = eventArgs.Button \ &H100000
Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
Dim X As Single = VB6.PixelsToTwipsX(eventArgs.X)
Dim Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)
StatusBar1.Panels(1).Text = "Copyright(C) Qingyuan Studio 1998-1999"
End Sub
Private Sub Label3_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Label3.Click
R = ShellExecute(0, Nothing, "mailto:Qing-yuan@21cn.com", Nothing, Nothing, AppWinStyle.NormalFocus)
End Sub
Private Sub Label3_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles Label3.MouseMove
Dim Button As Short = eventArgs.Button \ &H100000
Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
Dim X As Single = VB6.PixelsToTwipsX(eventArgs.X)
Dim Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)
Label3.ForeColor = System.Drawing.ColorTranslator.FromOle(&HFF)
Label3.Font = VB6.FontChangeBold(Label3.Font, True)
StatusBar1.Panels(1).Text = "给我发信"
End Sub
Private Sub MP_ActFrame(ByVal eventSender As System.Object, ByVal eventArgs As AxMPEGPLAYLib._DMp3PlayEvents_ActFrameEvent) Handles MP.ActFrame
Sder.Value = eventArgs.ActFrame
Pbar.Value = Sder.Value
End Sub
Private Sub Sder_Change(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Sder.Change
On Error Resume Next
DangQian.Text = "当前帧:" & Sder.Value & ",第" & VB6.Format(Sder.Value * MP.MsPerFrame / 1000, "#0.00 秒")
Pbar.Value = Sder.Value
End Sub
Private Sub Sder_ClickEvent(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Sder.ClickEvent
PS = MP.Seek(Sder.Value)
End Sub
Private Sub Sder_MouseDownEvent(ByVal eventSender As System.Object, ByVal eventArgs As AxComctlLib.ISliderEvents_MouseDownEvent) Handles Sder.MouseDownEvent
Command1(1).PerformClick()
End Sub
Private Sub Sder_MouseUpEvent(ByVal eventSender As System.Object, ByVal eventArgs As AxComctlLib.ISliderEvents_MouseUpEvent) Handles Sder.MouseUpEvent
Command1(1).PerformClick()
End Sub
Private Sub Sder_Scroll(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Sder.Scroll
On Error Resume Next
DangQian.Text = "当前帧:" & Sder.Value & ",第" & VB6.Format(Sder.Value * MP.MsPerFrame / 1000, "#0.00 秒")
Pbar.Value = Sder.Value
End Sub
Private Sub Text1_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Text1.TextChanged
ZHinfo()
End Sub
Private Sub Text2_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Text2.TextChanged
ZHinfo()
End Sub
Private Sub Text3_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Text3.TextChanged
Pn = Text3.Text
PKey = Text4.Text
Pok = MP.Authorize(Pn, PKey)
If Pok <> 0 Then
Frame4.Text = "注册 Mp3Play.ocx 控件(注册不正确)"
Else
Frame4.Text = "注册 Mp3Play.ocx 控件(注册正确)"
End If
End Sub
Private Sub Text4_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Text4.TextChanged
Pn = Text3.Text
PKey = Text4.Text
Pok = MP.Authorize(Pn, PKey)
If Pok <> 0 Then
Frame4.Text = "注册 Mp3Play.ocx 控件(注册不正确)"
Else
Frame4.Text = "注册 Mp3Play.ocx 控件(注册正确)"
End If
End Sub
Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick
If Sder.Value > CDbl(Text2.Text) - 30 Or Sder._Value = CDbl(Text2.Text) Then
MP.Close()
Timer1.Enabled = False
End If
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -