කුඩා ඕඩියෝ 0.11.22

කුඩා ඕඩියෝ 0.11.22

වසරකට වැඩි කාලයක් සංවර්ධනය කිරීමෙන් පසු, පෙබරවාරි 24 වන දින, හරස් වේදිකා ශ්‍රව්‍ය ග්‍රහණ සහ පසුධාවන පුස්තකාලයේ 0.11.22 නිකුත් කරන ලදී. කුඩා ශ්‍රව්‍ය, C වලින් ලියා පොදු වසමෙහි බෙදා හරිනු ලැබේ.
miniaudio, Windows, macOS, Linux, BSD, iOS, Android, සහ Web (Emscripten හරහා) ඇතුළු සියලුම ප්‍රධාන ඩෙස්ක්ටොප් සහ ජංගම වේදිකා මත තෙවන පාර්ශවීය යැපීම් නොමැතිව ධාවනය වේ.
පුස්තකාලය සතුව සරල, නම්‍යශීලී සහ මොඩියුලර් API එකක් ඇති අතර එය බිල්ට්-ඉන් විකේතක (WAV, MP3 සහ FLAC), උසස් මිශ්‍ර කිරීම් සහ බලපෑම් සැකසුම් (3D ඇතුළුව), සම්පත් කළමනාකරණය, පෙරහන්, දත්ත පරිවර්තනය සහ තවත් බොහෝ දේ ඇත.

ප්රධාන වෙනස්කම්:

  • 0.12 අනුවාදයෙන් පටන් ගෙන, miniaudio තනි ශීර්ෂ ගොනුව අතහැර දමා වෙනම .c/h ගොනු යුගලයකට මාරු වනු ඇත. මේ සඳහා සූදානම් වීම සඳහා, ගබඩාවට miniaudio.c ගොනුවක් එක් කර ඇත. මේ මොහොතේ එය miniaudio.h සහ MINAUDIO_IMPLEMENTATION වටා ඇති ආවරණයක් පමණි. miniaudio.h හි කිසිවක් වෙනස් වී නැත, කෙසේ වෙතත් 0.12 අනුවාදය නිකුත් වූ විට, සම්පාදනය සඳහා ඔබට miniaudio.c භාවිතා කිරීමට සිදුවනු ඇත. MINIAUDIO_IMPLEMENTATION භාවිතයෙන් miniaudio.c භාවිතා කිරීම වෙත සංක්‍රමණය වීම ආරම්භ කිරීම නිර්දේශ කෙරේ. ඔබේ ව්‍යාපෘතිය තනි සම්පාදන ඒකකයක් ලෙස ගොඩනැගීම දිගටම කරගෙන යාමට අවශ්‍ය නම්, ඔබට "miniaudio.c" #ඇතුළත් කළ හැක. මෙම ක්‍රමය 0.12 සහ ඉන් ඔබ්බට අනුවාදයන්හි සහය දක්වනු ඇත.
  • අමතර නාමාවලියෙහි ඇති miniaudio_libvorbis.h සහ miniaudio_libopus.h ගොනු අතහැර දමා ඇත. ඒවා දැන් අමතර/විකේතක නාමාවලියෙහි වෙනම .c සහ .h ගොනු වලට බෙදා ඇත. පැරණි ගොනු තවමත් අනුකූලතාව සඳහා පවතී, නමුත් ඔබට නව අනුවාද වෙත උත්ශ්‍රේණි කිරීමට අවශ්‍ය වනු ඇත. සංක්‍රාන්තිය සුළුපටු විය යුතුය.
  • MA_SOUND_FLAG_LOOPING සහ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING විකල්ප එකතු කරන ලදී. ඒවා ශබ්ද ආරම්භ කිරීමට සහ සම්පත් මත පදනම් වූ දත්ත මූලාශ්‍ර පෙරනිමියෙන් ලූප් කිරීමට භාවිතා කළ හැක. නූල් සඳහා ලූපින් සක්‍රීය කිරීමට නිර්දේශිත ක්‍රමය මෙයයි. ma_sound_config සහ ma_resource_manager_data_source_config හි isLooping වින්‍යාස විකල්ප අතහැර දමා ඇත. ඔබ ඒවා භාවිතා කරන්නේ නම්, ඔබ නව විකල්ප වෙත උත්ශ්‍රේණි කළ යුතුය, එසේ නොමැතිනම් අනාගත අනුවාදයකට උත්ශ්‍රේණි කිරීමේදී ඔබට සම්පාදක දෝෂ ලැබෙනු ඇත.
  • ma_rb_commit_read(), ma_rb_commit_write(), ma_pcm_rb_commit_read(), සහ ma_pcm_rb_commit_write() තවදුරටත් MA_AT_END ආපසු ලබා නොදේ. මෙම වෙනසට හේතුව රින්ග් බෆරයක "අවසානය" යන සංකල්පයක් නොමැති වීමයි, එම නිසා ප්‍රතිඵල කේතය අපැහැදිලි විය. මීට අමතරව, මෙහෙයුම සාර්ථකව අවසන් වුවද, මෙම ශ්‍රිත MA_SUCCESS හැර වෙනත් දෙයක් ආපසු ලබා දිය හැකි අතර, එය ව්‍යාකූලත්වයට තවත් හේතු විය. මුදු බෆරයේ තවමත් ඉඩ තිබේදැයි පරීක්ෂා කිරීමට නිවැරදි ක්‍රමය නම් rb_acquire_read/write() ශ්‍රිත මඟින් ආපසු ලබා දෙන රාමු කවුන්ටරය දෙස බැලීමයි.
  • ඉල්ලීම ඉටු කිරීමට මුදු බෆරයේ ප්‍රමාණවත් දත්ත නොමැති නම් ප්‍රතිදානය නිශ්ශබ්දතාවයෙන් පිරී යන පරිදි ma_pcm_rb දත්ත මූලාශ්‍රය ක්‍රියාත්මක කිරීම වෙනස් කර ඇත. මෙයින් අදහස් කරන්නේ ma_pcm_rb සඳහා ma_data_source_read_pcm_frames() ඔබ ඉල්ලා සිටි ප්‍රමාණයට වඩා අඩු රාමු සංඛ්‍යාවක් තවදුරටත් ආපසු ලබා නොදිය යුතු බවත්, එම නිසා කිසි විටෙකත් MA_AT_END ආපසු ලබා නොදෙන බවත්ය, එය අවසානයක් පිළිබඳ සංකල්පයක් නොමැති බැවින් චක්‍රීය බෆරයක් සඳහා තේරුමක් නැත. මෙම වෙනස ma_sound සඳහා දත්ත මූලාශ්‍රයක් ලෙස ring buffer එකක් භාවිතා කිරීම බෙහෙවින් පහසු කළ යුතුය.
  • ma_calculate_buffer_size_in_milliseconds_from_frames() ශ්‍රිතයට කුඩා වෙනසක් සිදු කර ඇති අතර එමඟින් එය ආසන්නතම පූර්ණ සංඛ්‍යාවට වටකුරු අගයක් ලබා දෙයි.
  • විකේතකය ආරම්භ කිරීම අසාර්ථක වුවහොත්, පෙර සිදු වූවාක් මෙන්, දෝෂය කුමක් වුවත්, හමු වූ පළමු දෝෂ කේතය දැන් MA_NO_BACKEND වෙනුවට ආපසු ලබා දෙනු ලැබේ.
  • උපාංග ID සංසන්දනය කිරීම සඳහා ma_device_id_equal() ශ්‍රිතය එක් කරන ලදී.
  • AAudio පසු අන්තයට MA_NO_RUNTIME_LINKING සඳහා සහය එක් කරන ලදී.
  • ලේඛන යාවත්කාලීන කරන ලදී.
  • අනාවරණය වූ දෝෂ නිවැරදි කර ඇත.

මූලාශ්රය: linux.org.ru

අදහස් එක් කරන්න