3 tane wav dosyayı 1 dosya içine yığmak ve burdan okutmak!
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim:
3 tane wav dosyayı 1 dosya içine yığmak ve burdan okutmak!
Herkese Merhaba,
- Projemde kullandığım 3 tane wav uzantılı ses dosyası var.
Aaa.wav (550Kb)
Bbb.wav (450Kb)
Ccc.wav (500Kb)
Yukardaki ses dosyalarını projemde TMediaPlayer ile farklı zamanlarda yükleyerek çaldırabiliyorum.
- Yapmak istediğim.
* - Bu 3 tane ses dosyasını, boyutları ve özelliği değişmeden 1 dosya içinde bulundurmak(örnek: abc.ses).
* - Projemde TMediaPlayer ile Aaa.wav dosyasını çaldırmak istediğimde abc.ses dosyasının içinden yükleyerek kullanmak istiyorum.
- Nasıl yapabilirim?
1- 3 tane ses dosyasını 1 tane (abc.ses) dosya içine nasıl yığabilirim veya gömebilirim?
2- Projede çalışırken, abc.ses dosyasının içinden Aaa.wav veya Ccc.wav dosyasını TMediaPlayer a nasıl yükleyebilirim?
Not: Projemi Delphi 6 ile derleyip, veritabanı bileşeni kullanmıyorum.
Tek dosya olarak adlandırdığım abc.ses dosyasının uzantısı *.ses olma zorunluluğu olmayıp, başka bir uzantı da olabilir.
Yardımcı olan herkese şimdiden çok teşekkür ederim
- Projemde kullandığım 3 tane wav uzantılı ses dosyası var.
Aaa.wav (550Kb)
Bbb.wav (450Kb)
Ccc.wav (500Kb)
Yukardaki ses dosyalarını projemde TMediaPlayer ile farklı zamanlarda yükleyerek çaldırabiliyorum.
- Yapmak istediğim.
* - Bu 3 tane ses dosyasını, boyutları ve özelliği değişmeden 1 dosya içinde bulundurmak(örnek: abc.ses).
* - Projemde TMediaPlayer ile Aaa.wav dosyasını çaldırmak istediğimde abc.ses dosyasının içinden yükleyerek kullanmak istiyorum.
- Nasıl yapabilirim?
1- 3 tane ses dosyasını 1 tane (abc.ses) dosya içine nasıl yığabilirim veya gömebilirim?
2- Projede çalışırken, abc.ses dosyasının içinden Aaa.wav veya Ccc.wav dosyasını TMediaPlayer a nasıl yükleyebilirim?
Not: Projemi Delphi 6 ile derleyip, veritabanı bileşeni kullanmıyorum.
Tek dosya olarak adlandırdığım abc.ses dosyasının uzantısı *.ses olma zorunluluğu olmayıp, başka bir uzantı da olabilir.
Yardımcı olan herkese şimdiden çok teşekkür ederim
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim:
Merhaba ulu coder hocam,
- İlginiz ve cevabınız için çok teşekkür ederim
- Hocam, Delphi'de acemi sayılırım. Delphi'de 3 dosyayı 1 dosya haline dönüştürmenin ve dönüşen 1 dosyadan 3 tane dosyayı okumanın mümkün olabilmesine çok sevindim
- Belirttiğiniz gibi, BlockRead ve BlockWrite hakkında Help'de açıklamayı ve örneği inceledim.
Bir hayli deneme yaptım fakat, daha birinci aşamayı yani 3 dosyayı 1 dosya olarak birleştirmeyi beceremedim
Dolayısıyla, ikinci aşama yani birleşmiş olan 1 dosya içinden ayrı ayrı okutmayada geçemedim
ulu coder hocam,
ilk defa karşılaştığım bu konuda sizin bildiğiniz bir kaynak kodlu örnek çalışma var mı? Varsa nasıl ulaşabilirim?
Tekrar yardımlarınız için çok teşekkür ederim
- İlginiz ve cevabınız için çok teşekkür ederim
- Hocam, Delphi'de acemi sayılırım. Delphi'de 3 dosyayı 1 dosya haline dönüştürmenin ve dönüşen 1 dosyadan 3 tane dosyayı okumanın mümkün olabilmesine çok sevindim
- Belirttiğiniz gibi, BlockRead ve BlockWrite hakkında Help'de açıklamayı ve örneği inceledim.
Bir hayli deneme yaptım fakat, daha birinci aşamayı yani 3 dosyayı 1 dosya olarak birleştirmeyi beceremedim
Dolayısıyla, ikinci aşama yani birleşmiş olan 1 dosya içinden ayrı ayrı okutmayada geçemedim
ulu coder hocam,
ilk defa karşılaştığım bu konuda sizin bildiğiniz bir kaynak kodlu örnek çalışma var mı? Varsa nasıl ulaşabilirim?
Tekrar yardımlarınız için çok teşekkür ederim
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
resource olarak kullanabilirsin.
http://www.swissdelphicenter.ch/en/showcode.php?id=169
http://www.swissdelphicenter.ch/en/showcode.php?id=169
@cemarik'in dediği gibi exe'nin içine gömebilirsin. Wav dosyası olduğu için mediaplayer'a da ihtiyacın yok ayrıca.
örnek ve açıklama :viewtopic.php?t=11908
örnek ve açıklama :viewtopic.php?t=11908
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim:
Merhaba,
- Değerli hocalarım,
Konu başlığını açarken, yapmak istediğimi daha kolay ifade edebilirim düşüncesiyle fazla detay yazmadım.
- İnşallah, yapmak istediğimi bu defa doğru ifade edebilirim ve uygun bir çözüm bulunabilir ümidiyle, projemin detaylarını yazıyorum:
Üstünde 1 yıldır uğraşıp son aşamasında olduğum projem, uluslararası Müzik Teknolojileri alanında Made In Turkiye imzasını taşıyacak, VSTi(Virtual Studio Technology Instruments) standardına sahip, 24bit 96000 Hz. kapasiteli bir ses modülü(Sound Sampler) Plug-in olup ve uzantısı dll dir.
Birlikte kullanıldığı programlar:
ASIO(Audio Stream Input Output) ve VSTi standardlarını destekleyen programlar içinde çalışabilir. (Örnek: CubaseSX, Cakewalk SONAR ve benzeri diğer programlar )
Bu ses modulunde her bir wav(24bit-96000Hz) dosyasını veya aynı anda birden fazla wav dosyalarını çaldırmayı(Play) Midi komutları tetikliyor.
Çalışma prensibine bir örnek:
MidiInput dan,
36 nolu mesaj gelirse Aaa.wav,
37 nolu mesaj gelirse Bbb.wav,
38 nolu mesaj gelirse Ccc.wav,
< ....>
83 nolu mesaj gelirse Xxx.wav
dosyalarını pointer ile pbuffer kullanarak çaldırıyorum, işi bittikten sonra hafızadan siliyorum ki çalışma esnasında hafıza dolu hata mesajı almamamak için.
- Bu aşamaya kadar problemsiz yapabiliyorum.
- Benzer başka projelerde, bu wav dosyalarının hepsini(örnek: 1400 tane 24bit-96000Hz wav dosyası) 1 dosya(örnek dosya boyutu 1.2 Gb) haline dönüştürüp, (exe ye gömmeden) bu 1 tane dosyanın içinden çağırarak çaldırıyorlar.
Bu yöntem ise binlerce wav dosyasının dağınıklığını önlediği gibi, kullanım esnasında da büyük kolaylık sağlıyor.
Şayet, resource haline dönüştürme yöntemine benzer (exe içine gömmeden) bir yöntem olursa çözülebilir diye düşünüyorum
İşte projemin son aşaması olan bu yöntemi nasıl yapacağımı bilemiyorum
- Yardımlarını esirgemeyen herkese şimdiden teşekkürler
cemarik yazdı:resource olarak kullanabilirsin.
http://www.swissdelphicenter.ch/en/showcode.php?id=169
@cemarik ve @hdayi, ilgi ve yanıtınız için çok teşekkür ederimhdayi yazdı:@cemarik'in dediği gibi exe'nin içine gömebilirsin. Wav dosyası olduğu için mediaplayer'a da ihtiyacın yok ayrıca.
örnek ve açıklama :viewtopic.php?t=11908
- Değerli hocalarım,
Konu başlığını açarken, yapmak istediğimi daha kolay ifade edebilirim düşüncesiyle fazla detay yazmadım.
- İnşallah, yapmak istediğimi bu defa doğru ifade edebilirim ve uygun bir çözüm bulunabilir ümidiyle, projemin detaylarını yazıyorum:
Üstünde 1 yıldır uğraşıp son aşamasında olduğum projem, uluslararası Müzik Teknolojileri alanında Made In Turkiye imzasını taşıyacak, VSTi(Virtual Studio Technology Instruments) standardına sahip, 24bit 96000 Hz. kapasiteli bir ses modülü(Sound Sampler) Plug-in olup ve uzantısı dll dir.
Birlikte kullanıldığı programlar:
ASIO(Audio Stream Input Output) ve VSTi standardlarını destekleyen programlar içinde çalışabilir. (Örnek: CubaseSX, Cakewalk SONAR ve benzeri diğer programlar )
Bu ses modulunde her bir wav(24bit-96000Hz) dosyasını veya aynı anda birden fazla wav dosyalarını çaldırmayı(Play) Midi komutları tetikliyor.
Çalışma prensibine bir örnek:
MidiInput dan,
36 nolu mesaj gelirse Aaa.wav,
37 nolu mesaj gelirse Bbb.wav,
38 nolu mesaj gelirse Ccc.wav,
< ....>
83 nolu mesaj gelirse Xxx.wav
dosyalarını pointer ile pbuffer kullanarak çaldırıyorum, işi bittikten sonra hafızadan siliyorum ki çalışma esnasında hafıza dolu hata mesajı almamamak için.
- Bu aşamaya kadar problemsiz yapabiliyorum.
- Benzer başka projelerde, bu wav dosyalarının hepsini(örnek: 1400 tane 24bit-96000Hz wav dosyası) 1 dosya(örnek dosya boyutu 1.2 Gb) haline dönüştürüp, (exe ye gömmeden) bu 1 tane dosyanın içinden çağırarak çaldırıyorlar.
Bu yöntem ise binlerce wav dosyasının dağınıklığını önlediği gibi, kullanım esnasında da büyük kolaylık sağlıyor.
Şayet, resource haline dönüştürme yöntemine benzer (exe içine gömmeden) bir yöntem olursa çözülebilir diye düşünüyorum
İşte projemin son aşaması olan bu yöntemi nasıl yapacağımı bilemiyorum
- Yardımlarını esirgemeyen herkese şimdiden teşekkürler
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim:
- cevabınız için teşekkür ederimbk yazdı:audiere kütüphanesini kullan
audiere kütüphanesini inceledim. Birden fazla wav dosyayı birleştiren veya içinde bireden fazla wav dosyası olan 1 dosyanın içinden wav dosyayı çıkarıp okuyabilecek bir özelliğe rastlayamadım.
Ya da ben bulamadım
Tam olarak neresinde yapılabiliyor. Belirtebilirseniz çok sevinirim
- Yardımınız için tekrar teşekkür ederim.
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
kusyra bakma ben yanlış anlamışımaudiere kütüphanesini inceledim. Birden fazla wav dosyayı birleştiren veya içinde bireden fazla wav dosyası olan 1 dosyanın içinden wav dosyayı çıkarıp okuyabilecek bir özelliğe rastlayamadım.
lakin problem sadece wav dosyalarını tek dosyada tutmaksa veritabanı kullanabilirsin blob alana dosyayı aktarırsın sonra buradan kullnacağın zaman tekrar dosyaya aktarır çaırırsın. sanırım blob ile ilgili örneklerin formda olması lazım
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim:
Merhaba,
@b-yaz yardım için teşekkür ederim
@bk tekrar yardımınız için teşekkür ederim
- Ülkemizde çok bakir bir alan olan, Müzik Teknolojileri konusunda, Plug-in yazmayla ilgilenmenize çok sevindim
Steinberg in ASIO ve VST/VSTi SDK C++ dan Delphi ye adapte eden Tobybear-Christian ın bileşeni için : buradan,
Kaynak kodlu MiniHost örneği için : buradan,
Kaynak kodlu VST örnek çalışmalar için : buradan indirip nasıl çalıştıklarıyla ilgili bilgi edinebilirsin.
VST/VSTi konularında dünyadaki bütün DSP plug-in yazarlarının bilgi paylaşım için Delphi forumu, C++ ve diğer diller için forum
- Şayet C++ biliyorsanız, ASIO ve plug-in konusunda, ülkemizdeki bir çok açığı kapatabilecek binlerce kaynak bilgi ve kodlar var. Böylece daha hızlı yol katedebilirsiniz. Delphi için bu alan çok az.
- 30 yıla yakın profesyonel müzik, 20 yıla yakın dijital müzik ve 3 yıla yakın orta seviye Delphi tecrübemle, bildiğim konularda yardımcı olabilirim.
Faydalı olması ümidiyle...
- Birleştirme için güzel bir örnek. Daha önce rastlayıp denemiştim. Fakat ayrıma işlemini yapan örnek olmayınca sonraya bıraktım!
@b-yaz yardım için teşekkür ederim
- Hocam veritabanı kullanmak, milisaniye bazından gecikmeye(Latency) sebep olduğundan, TFileStream ile ilgili bir örnek buldum. Netice olumlu olursa buraya çözümüyle birlikte yazacağım.bk yazdı:lakin problem sadece wav dosyalarını tek dosyada tutmaksa veritabanı kullanabilirsin blob alana dosyayı aktarırsın sonra buradan kullnacağın zaman tekrar dosyaya aktarır çağırırsın.
@bk tekrar yardımınız için teşekkür ederim
@coderlord,coderlord yazdı:Selamlar. Bu türden pluginlerin nasıl yazılması gerektiğini açıklayan bir link biliyor musunuz?
- Ülkemizde çok bakir bir alan olan, Müzik Teknolojileri konusunda, Plug-in yazmayla ilgilenmenize çok sevindim
Steinberg in ASIO ve VST/VSTi SDK C++ dan Delphi ye adapte eden Tobybear-Christian ın bileşeni için : buradan,
Kaynak kodlu MiniHost örneği için : buradan,
Kaynak kodlu VST örnek çalışmalar için : buradan indirip nasıl çalıştıklarıyla ilgili bilgi edinebilirsin.
VST/VSTi konularında dünyadaki bütün DSP plug-in yazarlarının bilgi paylaşım için Delphi forumu, C++ ve diğer diller için forum
- Şayet C++ biliyorsanız, ASIO ve plug-in konusunda, ülkemizdeki bir çok açığı kapatabilecek binlerce kaynak bilgi ve kodlar var. Böylece daha hızlı yol katedebilirsiniz. Delphi için bu alan çok az.
- 30 yıla yakın profesyonel müzik, 20 yıla yakın dijital müzik ve 3 yıla yakın orta seviye Delphi tecrübemle, bildiğim konularda yardımcı olabilirim.
Faydalı olması ümidiyle...
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.