내 VB.NET (VB 2010 Express)에서 MIDI 파일을 재생하려고하고 있는데 번역 된 코드는 this other question here on Stack Overflow입니다. C에서 VB로.VB.NET의 MIDI 사운드 : 일시 중지 및 다시 시작한 후에 다른 소리가 들린다
그러나 PAUSE (일시 중지)는 해당 코드가 열린 상태와 정지 상태 일 때만 필요합니다. 이 같은 코드 편집 :
Imports System.Runtime.InteropServices
Imports System.IO
''' <summary>
''' MCIPlayer is based off code by Slain.
''' Found here: http://www.sadeveloper.net/Articles_View.aspx?articleID=212
''' </summary>
Public Class MCIPlayer
Private Shared ReadOnly sAlias As String = "TeaTimerAudio"
<DllImport("winmm.dll")> _
Private Shared Function mciSendString(ByVal strCommand As String, ByVal strReturn As StringBuilder, ByVal iReturnLength As Integer, ByVal hwndCallback As IntPtr) As Long
End Function
Public Shared Sub Open(ByVal sFileName As String)
If _Status() <> "" Then
_Close()
End If
Dim sCommand As String = "open """ & sFileName & """ alias " & sAlias
mciSendString(sCommand, Nothing, 0, IntPtr.Zero)
End Sub
Public Shared Sub Close()
Dim sCommand As String = "close " & sAlias
mciSendString(sCommand, Nothing, 0, IntPtr.Zero)
End Sub
Public Shared Sub Pause()
Dim sCommand As String = "pause " & sAlias
mciSendString(sCommand, Nothing, 0, IntPtr.Zero)
End Sub
Public Shared Sub Play()
Dim sCommand As String = "play " & sAlias
mciSendString(sCommand, Nothing, 0, IntPtr.Zero)
End Sub
Public Shared Function Status() As String
Dim sBuffer As New StringBuilder(128)
mciSendString("status " & sAlias & " mode", sBuffer, sBuffer.Capacity, IntPtr.Zero)
Return sBuffer.ToString()
End Function
End Class
을 그리고 다음과 같이 호출 :
문제는 내가 플레이를 클릭하면 어떤 이유로 들어, 다음, 일시 정지, 다시 재생,이다Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MCIPlayer.Open("C:\Users\User\Desktop\aqua-roses_are_red.mid")
End Sub
Private Sub PlayButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlayButton.Click
MCIPlayer.Play()
End Sub
Private Sub PauseButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PauseButton.Click
MCIPlayer.Pause()
End Sub
Private Sub StopButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopButton.Click
MCIPlayer.Close()
End Sub
파일은 실제로 남은 곳에서 재생을 다시 시작하지만 악기는 완전히 다릅니다. 멜로디는 기본 피아노로 되돌아 가고, 일시 정지를 누르기 전에 완전히 다른 사운드였습니다.
도와 주실 수 있습니까?
나는 Win7x64
에고마워 해요! 최고
분명히, 누군가가 같은 문제를 가지고 있었고, 그것을 해결 할 수 있었다 : 나는 거 [http://www.freebasic.net/forum/viewtopic.php?p=23358&sid=937c1f6c627fec492be6eb08f837fa55][1] 을 내일 확인해 봐. 감사합니다. [1] : http://www.freebasic.net/forum/viewtopic.php?p=23358&sid=937c1f6c627fec492be6eb08f837fa55 – Davide