مینی آډیو 0.11.22

مینی آډیو 0.11.22

د فبروري په ۲۴مه، د یو کال څخه زیات پرمختګ وروسته، د کراس پلیټ فارم آډیو کیپچر او پلے بیک کتابتون ۰.۱۱.۲۲ خپور شو. مینی آډیوپه C کې لیکل شوی او په عامه ډومین کې ویشل شوی.
مینی آډیو په ټولو لویو ډیسټاپ او موبایل پلیټ فارمونو کې چلیږي، پشمول د وینډوز، میک او ایس، لینکس، بی ایس ډي، iOS، انډرایډ، او ویب (د ایم سکریپټین له لارې) پرته له کوم دریمې ډلې پورې تړلي.
کتابتون یو ساده، انعطاف منونکی او ماډلر API لري چې د جوړ شوي ډیکوډرونو (WAV، MP3 او FLAC)، پرمختللي مخلوط او اغیزو پروسس (د 3D په شمول)، د سرچینو مدیریت، فلټرونه، د معلوماتو تبادله او ډیر نور لري.

اصلي بدلونونه:

  • د 0.12 نسخې سره پیل کول، مینی آډیو به د .c/h فایلونو جلا جوړه ته لاړ شي، د واحد سرلیک فایل به پریږدي. د دې لپاره د چمتووالي لپاره، د miniaudio.c فایل په ذخیره کې اضافه شوی دی. دا مهال دا یوازې د miniaudio.h او MINIAUDIO_IMPLEMENTATION شاوخوا یوه پوښه ده. په miniaudio.h کې هیڅ بدلون نه دی راغلی، مګر کله چې نسخه 0.12 راشي، تاسو به د تالیف لپاره miniaudio.c کارولو ته اړتیا ولرئ. سپارښتنه کیږي چې د MINIAUDIO_IMPLEMENTATION کارولو څخه miniaudio.c کارولو ته مهاجرت پیل کړئ. که تاسو غواړئ خپله پروژه د یو واحد تالیف واحد په توګه جوړولو ته دوام ورکړئ، تاسو کولی شئ #include "miniaudio.c". دا طریقه به په 0.12 او وروسته نسخو کې ملاتړ شي.
  • د اضافي ډایرکټرۍ کې د miniaudio_libvorbis.h او miniaudio_libopus.h فایلونه له کاره لویدلي دي. اوس دوی د extras/decoders ډایرکټرۍ کې په جلا .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 لپاره د معلوماتو سرچینې په توګه د حلقوي بفر کارول خورا اسانه کړي.
  • د ma_calculate_buffer_size_in_milliseconds_from_frames() فنکشن کې یو کوچنی بدلون راغلی دی ترڅو دا نږدې عدد ته ګرد شوی ارزښت بیرته راولي.
  • که چیرې د ډیکوډر پیل ناکام شي، نو د تېروتنې لومړۍ کوډ چې ورسره مخ شوی اوس بیرته راستنیږي، د MA_NO_BACKEND پرځای، پرته له دې چې تېروتنه وي، لکه څنګه چې مخکې وه.
  • د وسیلو IDs پرتله کولو لپاره ma_device_id_equal() فعالیت اضافه شوی.
  • د AAudio بیک اینډ لپاره د MA_NO_RUNTIME_LINKING ملاتړ اضافه شو.
  • اسناد تازه شول.
  • کشف شوې تېروتنې سمې شوې دي.

سرچینه: linux.org.ru

Add a comment