|
ÇALIŞMAYAN VCD SORUNLARI
VCD filmlerini bilgisayarda izlerken birinci CD’den sonra ikinci CD’nin
çalışmaması çok can sıkıcı oluyor. MPEGAV dizinindeki avseq01.dat dosyasını
bilgisayara kopyalamak istediğinizde dakikalarca beklemenin ardından işlemin
sonunda hata oluşması ayrı bir sorun.
Bu ayki örnek kod VCD’lerdeki, ulaşılabilen ama doğrudan kopyalanamayan
dosyaları kopyalayabilmenizi sağlıyor. Aşağıdaki kodları VB’de ya da herhangi
bir Visual Basic editöründe çalıştırabilirsiniz. Öncelikle değiştirilecek tüm
dosyaların bir yedeğini alın ve dosyaların read-only (salt-okunur) özelliklerini
kaldırın.
On Error GoTo Hata
Open "d:\mpegav\avseq01.dat" For Binary As #1
Open "c:\avseq01_kopya.dat" For Binary As #2
Dim s As String * 65526
Dim Kopyalanan As Long
Do While Not EOF(1)
Get #1, , s
Put #2, , s
Kopyalanan = Kopyalanan + Len(s)
Loop
Cikis:
Close #1
Close #2
Exit Sub
Hata:
If Err.Number = 52 Then
MsgBox "Hata olustu. " & Kopyalanan & " bayt kopyalandi." & _
vbCr & vbCr & "(" & Err.Number & ": " & Err.Description & ")"
Err.Clear
End If
GoTo Cikis
Bilgisayara kopyalayabildiğiniz bir DAT dosyasını çalıştırmak her zaman
mümkün olmayabilir. Birçok dosya türünde olduğu gibi film dosyalarının başında
filmin çalışması için bazı bilgiler bulunur. Sonraki kısmın tamamı görüntü ve
seslerden oluşur. Fakat dosyanın baş tarafında bir bozukluk varsa film
izlenemeyebilir.
Bu film dosyalarının başındaki bilgileri değiştirmek, filmi izlenebilecek bir
hale getirebilir. Böyle durumlarda başka bir film dosyasının baş tarafını alıp
bozuk dosyanın başına yazmak çoğunlukla sonuç verici.
Open "d:\mpegav\avseq02.dat" For Binary As #1
Open "c:\avseq01_kopya.dat" For Binary As #2
Dim s As String * 65526
Get #1, , s
Put #2, , s
Get #1, , s
Put #2, , s
Close #1
Close #2
Serkan ŞAHİNOĞLU
|