Aracılığıyla paylaş


Kaynak Değişim Dosyası Biçim Hizmetleri

[Multimedya Dosyası G/Ç bu sayfayla ilişkilendirilmiş özellik eski bir özelliktir. yerine Kaynak Okuyucualmıştır. Kaynak Okuyucu, Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, yeni kodun mümkün olduğunda Multimedya Dosyası G/Çyerine Kaynak Okuyucu kullanmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]

Multimedya dosyaları için tercih edilen biçim, kaynak değişim dosyası biçimidir (RIFF). RIFF dosya G/Ç işlevleri temel arabelleğe alınan ve çıkarılmamış dosya G/Ç hizmetleriyle çalışır. RIFF dosyalarını diğer dosya türleriyle aynı şekilde açabilir, okuyabilir ve yazabilirsiniz. RIFF hakkında ayrıntılı bilgi için bkz. AVIFile İşlevleri ve Makroları.

RIFF dosyaları, dosya öğelerini tanımlamak için dört karakterli kodlar kullanır. Bu kodlar, sağda boşluk karakterleriyle doldurulmuş bir-dört ASCII alfasayısal karakter dizisini temsil eden 32 bitlik miktarlardır. Dört karakterli kodların veri türü FOURCC . Dört karakteri dört karakterli bir koda dönüştürmek için mmioFOURCC makroyu kullanın. Null olarak sonlandırılan dizeyi dört karakterli bir koda dönüştürmek için mmioStringToFOURCC işlevini kullanın.

RIFF dosyasının temel yapı taşı, bir öbektir. Öbek, video klibindeki tek bir çerçeve gibi multimedya verilerinin mantıksal bir birimidir. Her öbek aşağıdaki alanları içerir:

  • Öbek tanımlayıcısını belirten dört karakterli bir kod
  • Öbekteki veri üyesinin boyutunu belirten çift kelimeli değer
  • Veri alanı

Aşağıdaki çizimde iki altchunk içeren bir "RIFF" öbeği gösterilmektedir.

İki altchunks görüntüsüriff öbeeği

Başka bir öbekte yer alan bir öbek, bir alt. Altchunk içermesine izin verilen öbekler yalnızca "RIFF" veya "LIST" öbek tanımlayıcısına sahip olanlardır. Başka bir öbek içeren öbek, üst öbek olarak adlandırılır. BIR RIFF dosyasındaki ilk öbek bir "RIFF" öbeeği olmalıdır. Dosyadaki diğer tüm öbekler "RIFF" öbeeğinin alt paraşütleridir.

"RIFF" öbekleri, veri alanının ilk dört bayt içinde ek bir alan içerir. Bu ek alan, alanın form türü sağlar. Form türü, dosyada depolanan verilerin biçimini tanımlayan dört karakterli bir koddur. Örneğin, Microsoft waveform-audio dosyalarının form türü "WAVE" olur.

"LIST" öbekleri, veri alanının ilk dört bayt içinde ek bir alan da içerir. Bu ek alan, alanın liste türünü içerir. Liste türü, listenin içeriğini tanımlayan dört karakterli bir koddur. Örneğin, "BİlGİ" liste türüne sahip bir "LIST" öbeği, telif hakkı ve oluşturma tarihi bilgilerini sağlayan "ICOP" ve "ICRD" öbekleri içerebilir. Aşağıdaki çizimde bir "LIST" öbeği ve bir altchunk ("LIST" öbeği iki altchunk içerir) içeren bir "RIFF" öbeği gösterilmektedir.

Liste öbek görüntüsüriff öbeeği

Multimedya dosyası G/Ç hizmetleri, BIR RIFF dosyasındaki öbekler arasında gezinmek için kullanabileceğiniz iki işlev içerir: mmioAscend ve mmioDescend. Bu işlevleri üst düzey arama işlevleri olarak kullanabilirsiniz. Bir öbek içine indiğinizde, dosya konumu öbeğin veri alanına ayarlanır (öbeğin başından 8 bayt). "RIFF" ve "LIST" öbekleri için, dosya konumu form türünü veya liste türünü izleyen konuma ayarlanır (öbeğin başından 12 bayt). Bir öbekten çıktığınızda, dosya konumu öbek sonundan sonraki konuma ayarlanır.

Yeni bir öbek oluşturmak için mmioCreateChunk işlevini kullanarak açık bir dosyadaki geçerli konumda bir öbek üst bilgisi yazın. mmioAscend, mmioDescendve mmioCreateChunk işlevleri, "RIFF" öbekleri hakkında bilgi belirtmek ve almak için MMCKINFO yapısını kullanır.