.wav formatlı ses dosyasını kaydetme

C, C++ ve C++ Builder ile ilgili konuları buraya yazabilirsiniz.
Cevapla
çuçi
Üye
Mesajlar: 6
Kayıt: 19 Eki 2006 04:06

.wav formatlı ses dosyasını kaydetme

Mesaj gönderen çuçi »

arkadaşlar hepinize merhaba,
Ben daha cok yeni bir c++ builder kullanıcısıyım ve bu konuda cok bir bilgim yok.sorunuma gelince .wav formatlı bir müzik dosyasının ilk 10 byteını işleyip(çalan müzik frekansını müziğin bitiş adresini....vb) tekrar bu müzigi c:\\klasör\\record.wav olarak kaydetmek istiyorum.

fopen() kodu ile dosyayıa acıyorum
fread() ile dosyanın iceriğini okuyorum
fwrite() ile değişiklikleri yazıyorum fakat

bi türlü dosyayı kaydedemedim ayrıca bu kayıt kullanıcının haberi olmadan yani kaydet butonu olmadan olmalı yani değiştirme işlemlerinin ardından kullanıcının haberi olmadan gerçekleşmeli

Bu işlemi gerçekleştirmem için nasıl bir yol izlemeliyim??????

yardım ederseniz cok sevinicem cunku uzun süredir uğraşıyorum ama hiç yol katedemedim
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

işin açıkçası ne kastettiğni anlamış değilim ?
sorunu biraz daha net anlatabilirsen belki yardımcı olabiliriz.
çuçi
Üye
Mesajlar: 6
Kayıt: 19 Eki 2006 04:06

Mesaj gönderen çuçi »

void __fastcall TMainForm::OkuBtnClick(TObject *Sender)
{
OpenDialog1->Filter="Ses dosyaları (*.wav)|*.wav";
if (OpenDialog1->Execute())
{
// B DOSYASI ACILDI VE DATA DEGISKENINE YUKLENDI
FILE *f;
if ((f=fopen(OpenDialog1->FileName.c_str(),"rb"))== NULL)
MainForm->Label1->Caption=OpenDialog1->FileName+" dosyası açılamadı!";
else
{

fseek(f,46,SEEK_SET);
fread(data+10,sizeof(char),1048576,f);
Paket_blok=ftell(f);
fclose(f); }
}
}

ses dosyasını bu şekilde açıyorum.daha sonra ilk 10 byte'ına gerekli değişiklikleri yaparak yazıyorum.
değişiklik yaptiğim dosyayı bir cihaza yüklüyorum fakat ben bu değişiklik yaptığım dosyayı saklamak istiyorum ki yükleme sırasında bi sorun olursa dosya elimde bulunsun.
biraz daha açıklayıcı olmustur sanırım
Cevapla