Hallo,
bei der IMAPI2-UDF gibt es den Befehl
[autoit]_IMAPI2_BurnAudioCD()
[/autoit].
Irgendwie funktioniert das bei mir nicht.
Kennt sich jemand damit aus?
Danke Für Hilfe!
SuperAndi
Hallo,
bei der IMAPI2-UDF gibt es den Befehl
[autoit]_IMAPI2_BurnAudioCD()
[/autoit].
Irgendwie funktioniert das bei mir nicht.
Kennt sich jemand damit aus?
Danke Für Hilfe!
SuperAndi
poste dein qeullcode dann wird dir hier sicherlich geholfen
_IMAPI2_BurnAudioCD
bezieht sich auf einen Array der die Einträge dann brennt:
Du musst den Object des Laufwerkes eingeben und dann im zweiten einen Array(!)
in dem die zu brennenden Daten enthalten sind.
Also
[autoit][/autoit][autoit][/autoit][autoit]Dim $aWaveSound[10]
[/autoit][autoit][/autoit][autoit]$aWaveSound[0] = "C:\Musik.wav"
$aWaveSound[1] = "C:\Musik2.wav" ;Und immer so weiter.
_IMAPI2_BurnAudioCD($oRecorder, $aWaveSound)
[/autoit]Im Array $aWaveSound muss die Pfadangabe zur Wave-Datei sein.
_IMAPI2_BurnAudioCD brennt NUR Wave Dateien.
D.h. *.mp3 in *.wav umkonvertieren und dann brennen.
Beachte aber, dass Wave-Sounds über 15Mb groß sind und deshalb nicht soviele auf eine Audio-CD passen.
Ja, so habe ich es auch gemacht! Aber es funktioniert nicht!
Mein Code:
#include <IMAPI2.au3>
[/autoit] [autoit][/autoit] [autoit]$Open = FileOpenDialog("Wählen Sie die Datei zum Brennen aus!", "", "WAV (*.wav)") ;Datei auswählen
[/autoit] [autoit][/autoit] [autoit]$ID = _IMAPI2_DrivesGetID() ;IDs der Laufwerke
[/autoit] [autoit][/autoit] [autoit]If $ID[0] = 0 Then ;wenn kein Laufewrk gefunden wurde
MsgBox(16, "Laufwerk", "Kein Laufwerk!")
Else
$Drive = _IMAPI2_DriveGetObj($ID[1])
Dim $Datei[1] ;Dateiarray
$Datei[0] = $Open ;Datei in Array
_IMAPI2_BurnAudioCD($Drive, $Datei) ;Brennen
MsgBox(64, "Brennvorgang", "Brennvorgang abgeschlossen")
EndIf
Hallo SuperAndi,
ich schreibe auch gerade ein Brennprogramm und habe genau das gleiche Problem!
Hast du schon überprüft, ob die Wave-Datei, die du brennen möchtest überhaupt angenommen wird? Mit
[autoit]_IMAPI2_WaveIsValid($sFileName) ;$sFilename = Pfad zur Wave-Datei
[/autoit]
überprüft auch _IMAPI2_BurnAudioCD() ob die Datei korrekt ist. Wenn nicht wird gar nicht angefangen zu Brennen!
Würde mich auch freuen, wenn jemand das lösen kann. ![]()
LG K.K.
K.K. hat recht.
Erst mit _IMAPI2_WaveIsValid() prüfen und dann BurnAudioCD
Hallo alpines und K.K.
ich habe die Wavedatei mit _IMAPI2_WaveIsValid() geprüft und sie wurde anerkannt. Aber es funktioniert noch immer nicht. ![]()
Habt ihr vielleicht noch andere Ideen?
SuperAndi,
ich setze mich heute mal ans Problem und versuche es zu beheben.
Wenn ich es geschafft haben, werde ich es als €dit hier kennzeichnen, bis dahin musst du erstmal warten ![]()
€dit: Es liegt am Dateiformat! Hier in der IMAPI2-UDF steht:
Zeile 136:
If DllStructGetData($WAVE_HEADER, "AudioFormat") = 1 And DllStructGetData($WAVE_HEADER, "SampleRate") = 44100 And _
DllStructGetData($WAVE_HEADER, "BitsPerSample") = 16 And DllStructGetData($WAVE_HEADER, "NumChannels") = 2 Then
Return True
Else
Return False
EndIf
Das bedeutet, dass die Wave-Datei:
1. Convertiert in *.wav sein muss.
2. Die SampleRate auf 44100 (Bei vielen Convertierer-Programmen wir bei höchste Einstellung schon 44100 genommen.)
3. 16 Bits pro Sample sein müssen. (In professionellen Convertern einstellbar.
4. Es Stereo sein muss quasi 2 Kanäle (= Channels)
Dann sollte es laufen.
Ich hab das nicht getestet aber sollte dann laufen.
Übrigens werden die Daten wenn sie mit BurnAudioCD gebrannt werden automatisch geprüft (siehe IMAPI2-UDF)
€dit²: Und hat es funktioniert?