105255
Goto Top

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!

Content-Key: 185624

Url: https://administrator.de/contentid/185624

Printed on: April 25, 2024 at 01:04 o'clock

Member: MrTrebron
MrTrebron May 30, 2012 at 06:25:42 (UTC)
Goto Top
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
Member: Skyemugen
Skyemugen May 30, 2012 at 06:34:48 (UTC)
Goto Top
... Mann, du bist doch langsam lange genug hier und hast genügend mit Code-Zeugs rumgefuhrwerkelt, dass du unsere ##blue|##-Formatierung doch endlich mal kennen müsstest ...
Member: wiesi200
wiesi200 May 30, 2012 at 07:58:27 (UTC)
Goto Top
Also ich bin ja echt dafür der Jugend zu helfen, aber langsam stört's mich auch ein wenig.

Ich bin auch der Meinung besorg dir ein Buch. Das Galileo Zeug's zum Starten gut verwenden.
Arbeite alles Sorgfälltig durch und dann sehen wir weiter.
Mitglied: 105255
105255 May 30, 2012 updated at 09:15:25 (UTC)
Goto Top
Hallo Skyemugen
Schau es dir noch mal an. Zufrieden?
Member: wiesi200
wiesi200 May 30, 2012 at 09:49:22 (UTC)
Goto Top
Mitglied: 105255
105255 May 30, 2012 at 10:05:07 (UTC)
Goto Top
Vielen, vielen Dank "wiesi200",
du hast mir echt geholfen!

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. Kann ich auch irgendwie einen "Pause"-Button reinmachen?

Danke

Chris
Mitglied: 105255
105255 May 31, 2012 at 15:26:03 (UTC)
Goto Top
Beitrag erledigt;
ich mach es einfach anders;

Ich lerne jetzt erst mal noch ein bisschen und habe aber auch schon viele Programme geschrieben.
Member: wiesi200
wiesi200 May 31, 2012 at 18:11:14 (UTC)
Goto Top
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.