WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   vb5-mmcontrol1- wer kann helfen!?!?!?!wcm??? (http://www.wcm.at/forum/showthread.php?t=10979)

nordbahnfredi 13.10.2000 14:29

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



Sonic 13.10.2000 15:38

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««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Sonic 13.10.2000 19:49

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««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Sonic 13.10.2000 20:02

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««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

nordbahnfredi 14.10.2000 01:32

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

nordbahnfredi 14.10.2000 08:21

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



Alle Zeitangaben in WEZ +2. Es ist jetzt 11:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag