e7: audio (wave) verketten

Beitrag lesen

Hi,

habs mal mit Visual Basic probiert, zwei MP3's zusammenzustöpseln:

Sub Test()
Dim A As String
Dim B As String
A = GetFile("c:\temp\a.mp3")
B = GetFile("c:\temp\b.mp3")
A = Left(A, Len(A) / 2) & Left(B, Len(B) / 2)
SaveFile "c:\temp\c.mp3", A
End Sub

Public Sub SaveFile(FN As String, FC As String, _
    Optional pStart As Long = 1)
Dim N As Long
On Error Resume Next
If pStart = 1 Then Kill FN
N = FreeFile
Open FN For Binary As N
    Put N, pStart, FC
Close N
End Sub

Public Function GetFile(FN As String, Optional pStart As Long = 1, _
    Optional pLen As Long)
Dim I As String, N As Long
On Error Resume Next
N = FreeFile
If pLen > 0 Then
    I = Space(pLen)
Else
    I = Space(FileLen(FN))
End If
Open FN For Binary As N
    Get N, pStart, I
Close N
GetFile = I
End Function

Funktioniert wunderbar (getestet: WinAmp5, MediaPlayer 6) - das MP3-Format ist ja auch so aufgebaut, dass Übertragungsfehler oder Dateifehler den Abspielvorgang nicht beeinflussen...

Und wenn's unbedingt Standardkonform sein muss - einfach den Header in einer Datei speichern, und die einzelnen Töne ohne Header in anderen Dateien. Das sollte man dann zusammenstöpseln können...

E7