Heute zeigen wir Ihnen, wie sich WAVE-Dateien in unterschiedlichen Qualitätsstufen aufnehmen lassen. Von welchem Eingang der Soundkarte aufgenommen wird, richtet sich nach den Aufnahmeeinstellungen der Windows.Lautstärkeregelung. ' benötigte API-Deklaration Private Declare Auto Function mciSendString Lib "winmm.dll" ( _ ByVal lpstrCommand As String, _ ByVal lpstrRetrunString As String, _ ByVal dwReturnlength As Int16, _ ByVal hCallback As Int16) As Integer ' Aufnahmeformate Private Enum BitsPerSec Bits16 = 16 Bits8 = 8 End Enum Private Enum SampelsPerSec Sampels8000 = 8000 Sampels11025 = 11025 Sampels12000 = 12000 Sampels16000 = 16000 Sampels22050 = 22050 Sampels24000 = 24000 Sampels32000 = 32000 Sampels44100 = 44100 Sampels48000 = 48000 End Enum Private Enum Channels Mono = 1 Stereo = 2 End Enum ''' <summary> ''' Startet die WAVE-Aufnahme ''' </summary> ''' <param name="BitRate">Bits pro Sekunde</param> ''' <param name="SampleRate">Samples pro Sekunde</param> ''' <param name="Mode">Stereo oder Mono-Aufnahme</param> Private Function WAVE_RecordStart(Optional ByVal BitRate As BitsPerSec = BitsPerSec.Bits16, _ Optional ByVal SampleRate As SampelsPerSec = SampelsPerSec.Sampels11025, _ Optional ByVal Mode As Channels = Channels.Stereo) As Boolean Dim sReturn As String = Strings.Space(256) Dim cmd As String cmd = "open new type waveaudio alias recwave" If mciSendString(cmd, sReturn, 256, 0) <> 0 Then MsgBox("Fehler beim Anlegen der neuen Aufnahmedatei!", MsgBoxStyle.Exclamation) Return (False) End If ' Aufnahmeformat Dim ByteRate As Integer = (Mode * BitRate * SampleRate) / 8 mciSendString("set recwave time format milliseconds" & _ " bitspersample " & CStr(BitRate) & _ " samplespersec " & CStr(SampleRate) & _ " channels " & CStr(Mode) & _ " bytespersec " & CStr(ByteRate) & _ " alignment 4", sReturn, 256, 0) cmd = "record recwave" If mciSendString(cmd, sReturn, 256, 0) <> 0 Then MsgBox("Fehler bei der Aufnahme!", MsgBoxStyle.Exclamation) Return (False) End If Return (True) End Function ''' <summary> ''' Beendet die WAVE-Aufnahme ''' </summary> ''' <param name="Filename">Datei, unter der die Aufnahme gespeichert werden soll.</param> Private Function WAVE_RecordStop(ByVal Filename As String) As Boolean Dim sReturn As String = Strings.Space(256) Dim cmd As String Dim Result As Boolean = True cmd = "stop recwave" If mciSendString(cmd, sReturn, 256, 0) <> 0 Then MsgBox("Fehler beim Beenden der Aufnahme!", MsgBoxStyle.Exclamation) Return (False) End If If Filename.Length > 0 Then ' Aufnhame in Datei speichern cmd = "save recwave " & Filename If mciSendString(cmd, sReturn, 256, 0) <> 0 Then MsgBox("Fehler beim Speichern der Aufnahme.", MsgBoxStyle.Exclamation) Result = False End If End If cmd = "close recwave" If mciSendString(cmd, sReturn, 256, 0) <> 0 Then MsgBox("Fehler beim Schließen der Aufnahme...", MsgBoxStyle.Exclamation) End If Return (Result) End Function Dieser Tipp wurde bereits 13.970 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. |
sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Tipp des Monats Dezemeber 2024 Roland Wutzke MultiSort im ListView-Control Dieses Beispiel zeigt, wie sich verschiedene Sortierfunktionen für ein ListView Control realisieren lassen. 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. |