Nachfolgende Klasse stellt alle Funktionen zur Sound-Aufnahme am angeschlossenen Mikrofon, sowie eine Abspiel-Funktion zur Verfügung. Option Strict On Public Class clsAufnahme Private Declare Function mciSendString Lib "winmm.dll" _ Alias "mciSendStringA" ( _ ByVal Command As String, _ ByVal ReturnString As String, _ ByVal ReturnLenght As Integer, _ ByVal Callback As Integer) As Long Private rs As String Private cb As String Private m_Pfad As String Private m_Alias As String = "aufnahme" Public Event Aufnahme_Gestartet() Public Event Aufnahme_Beendet() Public Event Aufnahme_Abspielen() Public Event Aufnahme_Fehler(ByVal msg As String) Public Sub New(ByVal sPfad As String, ByVal sAlias As String) Pfad = sPfad Me.Alias = sAlias End Sub Public Property Pfad() As String Get Return m_Pfad End Get Set(ByVal Value As String) m_Pfad = Value End Set End Property Public Property [Alias]() As String Get Return m_Alias End Get Set(ByVal Value As String) m_Alias = Value End Set End Property Public Sub Starten() Try rs = New String(CChar(" "), 128) mciSendString("Open New Type waveaudio Alias " & m_Alias, rs, 128, CInt(cb)) mciSendString("record " & m_Alias, rs, 128, CInt(cb)) Catch ex As Exception RaiseEvent Aufnahme_Fehler(ex.Message) Exit Sub End Try RaiseEvent Aufnahme_Gestartet() End Sub Public Sub Beenden() Try mciSendString("Stop " & m_Alias, rs, 128, CInt(cb)) mciSendString("save " & m_Alias & " " & m_Pfad, rs, 128, CInt(cb)) mciSendString("Close " & m_Alias, rs, 128, CInt(cb)) Catch ex As Exception RaiseEvent Aufnahme_Fehler(ex.Message) Exit Sub End Try RaiseEvent Aufnahme_Beendet() End Sub Public Sub Abspielen() Try My.Computer.Audio.Play(Pfad, AudioPlayMode.Background) Catch ex As Exception RaiseEvent Aufnahme_Fehler(ex.Message) Exit Sub End Try RaiseEvent Aufnahme_Abspielen() End Sub End Class Beispiel
Public Class Form1 Private Recording As Boolean = False Private WaveFile As String Private WithEvents Aufnahme As clsAufnahme Public Function FileExists(ByVal sFile As String) As Boolean ' Prüft, ob die angegeben Datei existiert Return (System.IO.File.Exists(sFile)) End Function Private Sub ButtonUpdate() Button1.Enabled = Not Recording Button2.Enabled = Recording Button3.Enabled = Recording = False AndAlso FileExists(WaveFile) = True End Sub Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load WaveFile = Application.StartupPath If Not WaveFile.EndsWith("\") Then WaveFile &= "\" WaveFile &= "test.wav" Aufnahme = New clsAufnahme(WaveFile, "Test") ButtonUpdate() End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Aufnahme.Starten() End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click Aufnahme.Beenden() End Sub Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click Aufnahme.Abspielen() End Sub Private Sub Aufnahme_Aufnahme_Abspielen() Handles Aufnahme.Aufnahme_Abspielen ButtonUpdate() End Sub Private Sub Aufnahme_Aufnahme_Beendet() Handles Aufnahme.Aufnahme_Beendet Recording = False ButtonUpdate() End Sub Private Sub Aufnahme_Aufnahme_Fehler(ByVal msg As String) _ Handles Aufnahme.Aufnahme_Fehler Recording = False ButtonUpdate() End Sub Private Sub Aufnahme_Aufnahme_Gestartet() Handles Aufnahme.Aufnahme_Gestartet Recording = True ButtonUpdate() End Sub End Class Dieser Tipp wurde bereits 7.794 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |