![]() |
![]() |
|
|
|||||||
| Programmierung Rat & Tat für Programmierer |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Inventar
![]() Registriert seit: 12.10.2000
Ort: Wien
Alter: 77
Beiträge: 1.963
|
Hilfe!!!
Warum läßt sich die wav-datei nicht sichern??? Bitte um Unterstützung. Vielleicht sind die Spezialisten von WCM so lieb und helfen mir??? Dankeschön im Voraus MfG Nordbahnfredi Option Explicit Private Sub cmd_datei_sichern_Click() Call sichern End Sub Private Sub cmd_ende_Click() End End Sub Private Sub cmd_start_Click() MMControl1.filename = "d:\rec00-10-11neu.wav" Form1.Caption = MMControl1.filename MMControl1.Notify = False MMControl1.Wait = True MMControl1.Shareable = False MMControl1.DeviceType = "WaveAudio" MMControl1.Command = "open" End Sub Private Sub sichern() Print "*** sichern ***" MMControl1.Command = "Save" Print "*** gesichert ***" End Sub Private Sub Form_Load() '--------------- End Sub Private Sub Form_Unload(Cancel As Integer) MMControl1.Command = "Close" End Sub Private Sub MMControl1_prevClick(Cancel As Integer) MMControl1.Command = "prev" MMControl1.RecordEnabled = True MMControl1.PlayEnabled = True MMControl1.StopEnabled = True End Sub ' Mit diesem Ereignis kann eine Anwendung die ' Anzeige aktualisieren, um den Benutzer über ' den Zustand des aktuellen MCI-Geräts zu ' informieren. Die Anwendung kann ' Zustandsinformationen von Eigenschaften ' wie Position, Length und Mode abrufen. '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Private Sub MMcontrol1_StatusUpdate() Form1.Caption = MMControl1.Position & "*" & MMControl1.Length End Sub Private Sub MMControl1_PlayClick(Cancel As Integer) MMControl1.Command = "play" MMControl1.PlayEnabled = False MMControl1.RecordEnabled = False MMControl1.PrevEnabled = False MMControl1.StopEnabled = True End Sub Private Sub MMControl1_RecordClick(Cancel As Integer) MMControl1.Command = "record" MMControl1.RecordEnabled = False MMControl1.PlayEnabled = False MMControl1.PrevEnabled = False MMControl1.StopEnabled = True End Sub Private Sub MMControl1_StopClick(Cancel As Integer) MMControl1.Command = "stop" MMControl1.RecordEnabled = True MMControl1.PlayEnabled = True MMControl1.PrevEnabled = True MMControl1.StopEnabled = False End Sub |
|
|
|
|
|
#2 |
|
Master
![]() |
Hallo Fredi!
Ich habe gerade deinen Code ausprobiert und er funktioniert tadellos. Auch das speichern! Wieso funktioniert es bei dir nicht? Gibt er eine Fehlermeldung aus, oder speichert er die Datei einfach nicht, oder..? Bitte um eine genauere angabe, vielleicht kommen wir dann auf dein Problem. ------------------ __________________ |»»»»»SONIC««««««| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|
|
|
|
|
#3 |
|
Master
![]() |
nordbahnfredi hat mir diese Mail geschickt:
----------------- Hallo Sonic! Danke für Deine Hilfe. Wenn ich den Code durchführe gibt es keine Meldung aber die Datei wird auch nicht gespeichert. Die Audiodaten werden aber aufegenommen, denn wenn ich auf STOP, PREV und anschließend auf PLAY klicke, höre ich die Aufnahme. Nur die Datei wird leider nicht gespeichert. Herzliche Grüße Fredi ----------------------- Meine Antwort: Komisch, also bei mir machts keine Probleme! Hier ein paar sachen die du testen könntest: Hast du schon einmal probiert eine bestehende Datei zu öffnen etwas aufzunehmen und dann zu speichern!? Schau mal welche version von mci32.ocx (=MMControl) du hast. Sollte version 5.irgentetwas sein. (vielleicht hat dir ja ein Programm eine ältere Version drüber kopiert). Hast du schon einmal probiert das Programm zu übersetzen und dann das Speichern probiert? Lösche das Control und setze es dann wieder ein. (vielleicht hast du ja einstellungen verändert) Mehr fällt mir zur Zeit nicht ein. --------------------------- Die Rückantwort: von Fredi: > Hast du schon einmal probiert eine bestehende Datei zu öffnen etwas > aufzunehmen und dann zu speichern!? Funktioniert tadellos. Erst seit ich versuche im Programm in eine NEUE (=Nicht vorhandene) Datei aufzunehmen und diese nachher auf die Festplatte zu speichern, gibt's Probleme. > Schau mal welche version von mci32.ocx > (=MMControl) du hast. Sollte version 5.irgentetwas sein. (vielleicht hat > dir ja ein > Programm eine ältere Version drüber kopiert). Version = 5.00.3714 > *Hast du schon einmal probiert > das Programm zu übersetzen und dann das Speichern probiert? exe-datei erstellt und ausgeführt - Funktioniert auch nicht. > Lösche das Control und setze es dann wieder ein. (vielleicht hast du ja > einstellungen verändert) MM-Control gelöscht und neu eingesetzt - Funktioniert auch nicht. ------------------ __________________ |»»»»»SONIC««««««| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|
|
|
|
|
#4 |
|
Master
![]() |
Also ich hab leider keine Idee was den Fehler verursacht. Wenn du aber sagsat das du ein bestehendes File überschreiben und speichern kanns hätte ich einen kleinen WorkOrund für dich.
Lies ein leeres Wavefile in eine Variable. (Du kannst sie auch später als constante ins Programm einbauen) und bevor du ein File öffnest schreibst du einfach ein file mit dem inhalt der Variable. Also machst du ein leere Wav file das du dann speichern kannst. Hier die Funktion mit der du das file einlesen kannst (falls du es nicht schon weisst) Private Sub Command1_Click() Dim filedata As String Open "c:\LeeresWave.wav" For Input As #1 Input #1, filedata close #1 Text1.Text = filedata 'nur zum anzeigen End Sub Hoffe das hilft dir weiter. ------------------ __________________ |»»»»»SONIC««««««| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|
|
|
|
|
#5 |
|
Inventar
![]() Registriert seit: 12.10.2000
Ort: Wien
Alter: 77
Beiträge: 1.963
|
hallo sonic!
das mit dem init des files funktioniert leider auch nicht. wenn ich von LeeresWave.wav einlese und nach NeuemFile.wav schreibe, gibt es Probleme mit dem kopieren der daten. der NeueFile.wav wird zwar nach dem CLOSE auf die Festplatte geschrieben, aber er ist nur 1K lang und nicht als wavaudio abspielbar(formatfehler). ich steh auf der seife. wieso funktioniert das bei dir ohne probleme und ohne vorheriges init??? nächtliche grüße fredi |
|
|
|
|
|
#6 |
|
Inventar
![]() Registriert seit: 12.10.2000
Ort: Wien
Alter: 77
Beiträge: 1.963
|
Hallo Sonic!
Vorerst habe ich das Problem mit Hilfe von FILECOPY gelöst, siehe Beispiel: Option Explicit Private Sub cmd_datei_sichern_Click() Call sichern End Sub Private Sub cmd_ende_Click() End End Sub Private Sub cmd_start_Click() Print Time uhr = Date & "/" & Time vgluhr = Date & "_" & Time vgluhr.SelStart = 0 vgluhr.SelLength = 3 uhr.SelStart = 6 uhr.SelLength = 2 vgluhr.SelText = uhr.SelText & "-" vgluhr.SelStart = 5 vgluhr.SelLength = 3 uhr.SelStart = 0 uhr.SelLength = 2 vgluhr.SelText = "-" & uhr.SelText vgluhr.SelStart = 11 vgluhr.SelLength = 1 vgluhr.SelText = "-" vgluhr.SelStart = 14 vgluhr.SelLength = 1 vgluhr.SelText = "-" MMControl1.filename = "d:\rec" & vgluhr & ".wav" 'In diesem Beispiel wird die FileCopy-Anweisung verwendet, 'um eine Datei in eine andere Datei zu kopieren. 'Im Rahmen dieses Beispiels wird angenommen, 'daß die Datei QUELLDAT vorhanden ist und Beispieldaten enthält. 'HINWEIS: 'Die Datei QUELLDAT wurde mit Creative WaveStudio erstellt. Dim Quelldatei, Zieldatei Quelldatei = "d:\LeeresWav.wav" ' Namen der Quelldatei festlegen. Zieldatei = MMControl1.filename ' Namen der Zieldatei festlegen. FileCopy Quelldatei, Zieldatei ' Quell- in Zieldatei kopieren. Form1.Caption = MMControl1.filename MMControl1.Notify = False MMControl1.Wait = True MMControl1.Shareable = False MMControl1.DeviceType = "WaveAudio" MMControl1.Command = "open" End Sub Private Sub sichern() Print "*** sichern ***" MMControl1.Command = "Save" Print "*** gesichert ***" End Sub Private Sub Form1_Load() '--------------- End Sub Private Sub Form_Unload(Cancel As Integer) MMControl1.Command = "Close" End Sub Private Sub MMControl1_prevClick(Cancel As Integer) MMControl1.Command = "prev" MMControl1.RecordEnabled = True MMControl1.PlayEnabled = True MMControl1.StopEnabled = True End Sub ' Mit diesem Ereignis kann eine Anwendung die ' Anzeige aktualisieren, um den Benutzer über ' den Zustand des aktuellen MCI-Geräts zu ' informieren. Die Anwendung kann ' Zustandsinformationen von Eigenschaften ' wie Position, Length und Mode abrufen. '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Private Sub MMcontrol1_StatusUpdate() Form1.Caption = MMControl1.Position & "*" & MMControl1.Length End Sub Private Sub MMControl1_PlayClick(Cancel As Integer) MMControl1.Command = "play" MMControl1.PlayEnabled = False MMControl1.RecordEnabled = False MMControl1.PrevEnabled = False MMControl1.StopEnabled = True End Sub Private Sub MMControl1_RecordClick(Cancel As Integer) MMControl1.Command = "record" MMControl1.RecordEnabled = False MMControl1.PlayEnabled = False MMControl1.PrevEnabled = False MMControl1.StopEnabled = True End Sub Private Sub MMControl1_StopClick(Cancel As Integer) MMControl1.Command = "stop" MMControl1.RecordEnabled = True MMControl1.PlayEnabled = True MMControl1.PrevEnabled = True MMControl1.StopEnabled = False End Sub Herzlichen Dank für die Hilfe und bis bald Nordbahnfredi |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|