⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mp3towav.vb

📁 这是一本用Visual Studio.NET进行多媒体编程的读物
💻 VB
📖 第 1 页 / 共 3 页
字号:
        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 + -