Ni Oṣu Keji ọjọ 24, lẹhin diẹ sii ju ọdun kan ti idagbasoke, 0.11.22 ti gbigba ohun afetigbọ agbelebu ati ile ikawe ṣiṣiṣẹsẹhin ti tu silẹ miniaudio, ti a kọ si C ati pinpin ni agbegbe gbogbo eniyan.
miniaudio nṣiṣẹ lori gbogbo tabili pataki ati awọn iru ẹrọ alagbeka, pẹlu Windows, macOS, Linux, BSD, iOS, Android, ati Wẹẹbu (nipasẹ Emscripten) laisi awọn igbẹkẹle ẹnikẹta.
Ile-ikawe naa ni API ti o rọrun, rọ ati apọjuwọn pẹlu awọn decoders ti a ṣe sinu (WAV, MP3 ati FLAC), idapọ ti ilọsiwaju ati sisẹ awọn ipa (pẹlu 3D), iṣakoso awọn orisun, awọn asẹ, iyipada data ati pupọ diẹ sii.
Awọn iyipada akọkọ:
- Bibẹrẹ pẹlu ẹya 0.12, miniaudio yoo gbe lọ si bata meji ti awọn faili .c/h, ni fifisilẹ faili akọsori ẹyọkan naa. Lati mura silẹ fun eyi, faili miniaudio.c ti jẹ afikun si ibi ipamọ naa. Ni akoko yii o kan murasilẹ ni ayika miniaudio.h ati MINIAUDIO_IMPLEMENTATION. Ko si ohun ti o yipada ni miniaudio.h, sibẹsibẹ nigbati ẹya 0.12 ba jade, iwọ yoo nilo lati lo miniaudio.c fun akojọpọ. O gbaniyanju lati bẹrẹ iṣikiri lati lilo MINIAUDIO_IMPLEMENTATION si lilo miniaudio.c. Ti o ba fẹ tẹsiwaju lati kọ iṣẹ akanṣe rẹ gẹgẹbi ẹyọkan akojọpọ, o le #pẹlu "miniaudio.c". Ọna yii yoo ṣe atilẹyin ni ẹya 0.12 ati kọja.
- Awọn faili miniaudio_libvorbis.h ati miniaudio_libopus.h ti o wa ninu iwe ilana afikun ti jẹ alaimọ. Wọn ti pin ni bayi si awọn faili .c ati .h lọtọ ni itọsọna awọn afikun/decoders. Awọn faili atijọ tun wa fun ibaramu, ṣugbọn iwọ yoo nilo lati ṣe igbesoke si awọn ẹya tuntun. Iyipada yẹ ki o jẹ ohun kekere.
- Awọn aṣayan afikun MA_SOUND_FLAG_LOOPING ati MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING. Wọn le ṣee lo lati ṣe ipilẹṣẹ awọn ohun ati awọn orisun data ti o dari orisun lati lupu nipasẹ aiyipada. Eyi ni ọna ti a ṣeduro lati mu looping ṣiṣẹ fun awọn okun. Awọn aṣayan atunto isLooping ni ma_sound_config ati ma_resource_manager_data_source_config ni a ti yọkuro. Ti o ba nlo wọn, o yẹ ki o ṣe igbesoke si awọn aṣayan titun, bibẹẹkọ iwọ yoo gba awọn aṣiṣe alakojọ nigbati o ba n gbega si ẹya iwaju.
- ma_rb_commit_read (), ma_rb_commit_write (), ma_pcm_rb_commit_read (), ati ma_pcm_rb_commit_write () ko pada MA_AT_END mọ. Idi fun iyipada yii ni pe ko si imọran ti “opin” ninu ifipamọ oruka, eyiti o jẹ ki koodu abajade koyewa. Ni afikun, awọn iṣẹ wọnyi le da ohun miiran pada yatọ si MA_SUCCESS paapaa ti iṣẹ naa ba pari ni aṣeyọri, eyiti o ṣafikun iporuru naa. Ọna ti o pe lati ṣayẹwo boya yara tun wa ninu ifipamọ oruka ni lati wo counter fireemu ti o pada nipasẹ awọn iṣẹ rb_acquire_read/write ().
- Imuse ti orisun data ma_pcm_rb ti yipada ki abajade naa kun fun ipalọlọ ti ko ba si data ti o to ninu ifipamọ oruka lati mu ibeere naa ṣẹ. Eleyi tumo si wipe ma_data_source_read_pcm_frames () fun ma_pcm_rb ko yẹ ki o pada nọmba kan ti awọn fireemu kere ju ti o beere, ati ki o yoo nitorina ko pada MA_AT_END, eyi ti o mu ki ko si ori fun a oruka saarin niwon o ni ko si Erongba ti ohun opin. Iyipada yii yẹ ki o jẹ ki o rọrun pupọ lati lo ifipamọ oruka bi orisun data fun ma_sound.
- Iyipada kekere kan ti ṣe si iṣẹ ma_calculate_buffer_size_in_milliseconds_from_frames () ki o le da iye kan pada si odidi to sunmọ.
- Ti ipilẹṣẹ decoder ba kuna, koodu aṣiṣe akọkọ ti pade ti wa ni bayi pada, dipo MA_NO_BACKEND laibikita aṣiṣe naa, bi o ti jẹ tẹlẹ.
- Fi kun iṣẹ ma_device_id_equal () fun ifiwera awọn ID ẹrọ.
- Ṣe afikun atilẹyin fun MA_NO_RUNTIME_LINKING si ẹhin AAudio.
- Iwe imudojuiwọn.
- Awọn aṣiṣe ti a rii ti jẹ atunṣe.
orisun: linux.org.ru
