
105255
30.05.2012, aktualisiert um 11:19:32 Uhr
Audiorecorder WAV-Datei Speichern ---Visual Basic---
Habe einen Audiorecorder mit Microsoft Visual Basic 2010 Express geschrieben. Der kann Dateien aber immer nur unter einem bestimmten Dateipfad speichern.
Morgen da draußen!
Ich habe ein kleines Problem:
ich sitze jetzt vor meinem Audiorecorder und komm nicht weiter.
Der speichert die Audiodateien nämlich immer nur unter "C:\wavdatei.wav"
Mein Code
<code type vb>Public Class Form1
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button2.Enabled = False
Button3.Enabled = False
Label1.Text = "Bereit zur Aufnahme!"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Aufnehmen
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = False
mciSendString("open new Type waveaudio Alias recsound", "", 0, 0)
mciSendString("record recsound", "", 0, 0)
Label1.Text = "Aufnahme..."
Label1.Visible = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Stoppen
Button1.Enabled = True
Button2.Enabled = False
Button3.Enabled = True
mciSendString("save recsound c:\wavdatei.wav", "", 0, 0)
mciSendString("close recsound", "", 0, 0)
MsgBox("File Created: C:\wavdatei.wav")
Label1.Text = "Aufnahme gestoppt..."
Label1.Visible = False
My.Computer.Audio.Stop()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Wiedergabe
Label1.Text = "Wiedergabe..."
Label1.Visible = True
My.Computer.Audio.Play("c:\wavdatei.wav", AudioPlayMode.Background)
End Sub
End Class
Wüsste nicht, wie ich das Speichern da jetzt in ein SaveFileDialog1 rein machen kann,
noch dazu würde ich es gerne so machen, dass das Programm mich darüber aufklärt, wenn ich beim Speichern eine andere Datei überschreiben würde.
Auch eine Möglichkeit währe, dass der Benutzer den Speicher-Pfad gar nicht selber auswählen kann, sondern dass das Programm einfach die erste Wavedatei "wav001" nennt und die nächste dann "wav002". In Batch währe es ja einfach (%irgendwas%+1), aber wie geht das in Visual Basic?
Und wie mache ich es, dass dann hinter Aufnahme noch "Aufnahmedauer: " steht un das in folgendem Format "0:00:00:000" (std.min.sek.millisek); das gleiche am besten auch beim Abspielen.
Weiß vielleicht noch jemand Verbesserungsvorschläge?
Ich wäre sehr dankbar, da ich noch nicht mal 3 Monate mit VB programmiere und erst 13 Jahre alt bin.
Danke schon mal jetzt,
Chris
P.S.: Bitte helft mir doch einfach. Die ersten paar Kommentare waren nicht wirklich hilfreich. Ich habe (schwaches) ADHS und bin Autist!
Morgen da draußen!
Ich habe ein kleines Problem:
ich sitze jetzt vor meinem Audiorecorder und komm nicht weiter.
Der speichert die Audiodateien nämlich immer nur unter "C:\wavdatei.wav"
Mein Code
<code type vb>Public Class Form1
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button2.Enabled = False
Button3.Enabled = False
Label1.Text = "Bereit zur Aufnahme!"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Aufnehmen
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = False
mciSendString("open new Type waveaudio Alias recsound", "", 0, 0)
mciSendString("record recsound", "", 0, 0)
Label1.Text = "Aufnahme..."
Label1.Visible = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Stoppen
Button1.Enabled = True
Button2.Enabled = False
Button3.Enabled = True
mciSendString("save recsound c:\wavdatei.wav", "", 0, 0)
mciSendString("close recsound", "", 0, 0)
MsgBox("File Created: C:\wavdatei.wav")
Label1.Text = "Aufnahme gestoppt..."
Label1.Visible = False
My.Computer.Audio.Stop()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Wiedergabe
Label1.Text = "Wiedergabe..."
Label1.Visible = True
My.Computer.Audio.Play("c:\wavdatei.wav", AudioPlayMode.Background)
End Sub
End Class
Wüsste nicht, wie ich das Speichern da jetzt in ein SaveFileDialog1 rein machen kann,
noch dazu würde ich es gerne so machen, dass das Programm mich darüber aufklärt, wenn ich beim Speichern eine andere Datei überschreiben würde.
Auch eine Möglichkeit währe, dass der Benutzer den Speicher-Pfad gar nicht selber auswählen kann, sondern dass das Programm einfach die erste Wavedatei "wav001" nennt und die nächste dann "wav002". In Batch währe es ja einfach (%irgendwas%+1), aber wie geht das in Visual Basic?
Und wie mache ich es, dass dann hinter Aufnahme noch "Aufnahmedauer: " steht un das in folgendem Format "0:00:00:000" (std.min.sek.millisek); das gleiche am besten auch beim Abspielen.
Weiß vielleicht noch jemand Verbesserungsvorschläge?
Ich wäre sehr dankbar, da ich noch nicht mal 3 Monate mit VB programmiere und erst 13 Jahre alt bin.
Danke schon mal jetzt,
Chris
P.S.: Bitte helft mir doch einfach. Die ersten paar Kommentare waren nicht wirklich hilfreich. Ich habe (schwaches) ADHS und bin Autist!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185624
Url: https://administrator.de/forum/audiorecorder-wav-datei-speichern-visual-basic-185624.html
Ausgedruckt am: 12.04.2025 um 06:04 Uhr
8 Kommentare
Neuester Kommentar
Servus Chris,
mein Tipp:
Hold dir ein VB Buch und lerne das mal von Anfang an.
Es gibt bei Galileo Computing auch gute, kostenlose Openbooks zum Download.
Gruß
Norbert
mein Tipp:
Hold dir ein VB Buch und lerne das mal von Anfang an.
Es gibt bei Galileo Computing auch gute, kostenlose Openbooks zum Download.
Gruß
Norbert
Ich will dich ja nicht Schocken aber schau dir das mal an.
http://www.vbarchiv.net/api/details.php?id=mcisendstring
Ein wirklich ernst gemeinter Tipp.
Arbeite erst mal 1-2 Bücher durch und wenn's ein Jahr dauert du hast noch genug Zeit. Fang z.b. mit dem Galileo Open Book an. Ist sicher am Anfang furchtbar langweilig. Und irgendwas selber basteln ist sicher schöner, aber du wirst so schnell auf Grenzen stoßen die um so mehr frustrieren und dir werden auch viele (langweilige aber wichtige) Grundlagen fehlen.
http://www.vbarchiv.net/api/details.php?id=mcisendstring
Ein wirklich ernst gemeinter Tipp.
Arbeite erst mal 1-2 Bücher durch und wenn's ein Jahr dauert du hast noch genug Zeit. Fang z.b. mit dem Galileo Open Book an. Ist sicher am Anfang furchtbar langweilig. Und irgendwas selber basteln ist sicher schöner, aber du wirst so schnell auf Grenzen stoßen die um so mehr frustrieren und dir werden auch viele (langweilige aber wichtige) Grundlagen fehlen.