{"id":122100,"date":"2025-02-26T14:22:18","date_gmt":"2025-02-26T12:22:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/miniaudio-0-11-22"},"modified":"2025-02-26T14:22:18","modified_gmt":"2025-02-26T12:22:19","slug":"miniaudio-0-11-22","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/miniaudio-0-11-22","title":{"rendered":"miniaudio 0.11.22","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"miniaudio 0.11.22\" src=\"\/wp-content\/uploads\/2025\/02\/535745f2d2bcd17a4611a5a5eb0fc4db.jpg\" style=\"display:block;margin: 0 auto;\" \/>                              <noindex>      <\/p>\n<p>Pe 24 februarie, dup\u0103 mai bine de un an de dezvoltare, a fost lansat\u0103 versiunea 0.11.22 a bibliotecii cross-platform pentru captarea \u0219i redarea sunetului. <a rel=\"nofollow\" href=\"https:\/\/miniaud.io\">miniaudio<\/a>, scris\u0103 \u00een limbajul C \u0219i distribuit\u0103 ca domeniu public.<br \/><\/noindex> miniaudio func\u021bioneaz\u0103 pe toate platformele desktop \u0219i mobile majore, inclusiv Windows, macOS, Linux, BSD, iOS, Android \u0219i Web (prin Emscripten), f\u0103r\u0103 dependen\u021be externe.<br \/> Biblioteca are o API simpl\u0103, flexibil\u0103 \u0219i modular\u0103, cu decodoare \u00eencorporate (WAV, MP3 \u0219i FLAC), mixare avansat\u0103 \u0219i procesare de efecte (inclusiv 3D), gestionarea resurselor, filtre, conversia datelor \u0219i multe altele.<\/p>\n<p>Modific\u0103ri principale:<\/p>\n<ul>\n<li>\u00cencep\u00e2nd cu versiunea 0.12, miniaudio va trece la un set de fi\u0219iere .c\/.h separate, renun\u021b\u00e2nd la un singur fi\u0219ier de antet. Pentru a preg\u0103ti acest lucru, a fost ad\u0103ugat \u00een repository fi\u0219ierul miniaudio.c. \u00cen prezent, acesta este doar o \u00eenveli\u0219 \u00een jurul miniaudio.h \u0219i MINIAUDIO_IMPLEMENTATION. \u00cen miniaudio.h nu s-au f\u0103cut modific\u0103ri, totu\u0219i, c\u00e2nd va fi lansat\u0103 versiunea 0.12, va trebui s\u0103 folosi\u021bi miniaudio.c pentru compilare. Se recomand\u0103 s\u0103 \u00eencepe\u021bi tranzi\u021bia de la utilizarea MINIAUDIO_IMPLEMENTATION la utilizarea miniaudio.c. Dac\u0103 dori\u021bi s\u0103 continua\u021bi s\u0103 compila\u021bi proiectul dvs. ca o unitate unic\u0103, pute\u021bi face #include \"miniaudio.c\". Aceast\u0103 abordare va fi sus\u021binut\u0103 \u00een versiunea 0.12 \u0219i mai departe.<\/li>\n<li>Fi\u0219ierele miniaudio_libvorbis.h \u0219i miniaudio_libopus.h din directorul extras au fost declarate \u00eemp\u0103rt\u0103\u0219ite. Acestea sunt acum separate \u00een fi\u0219iere .c \u0219i .h \u00een directorul extras\/decoders. Fi\u0219ierele vechi exist\u0103 \u00een continuare pentru compatibilitate, dar va trebui s\u0103 trece\u021bi la noile versiuni. Tranzitia ar trebui s\u0103 fie trivial\u0103.<\/li>\n<li>Au fost ad\u0103ugate op\u021biunile MA_SOUND_FLAG_LOOPING \u0219i MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING. Acestea pot fi utilizate pentru a ini\u021bializa sunete \u0219i surse de date gestionate pentru looping implicit. Aceasta este metoda recomandat\u0103 pentru a activa looping-ul pentru fluxuri. Op\u021biunile de configurare isLooping \u00een ma_sound_config \u0219i ma_resource_manager_data_source_config au fost declarate \u00eenvechite. Dac\u0103 le folosi\u021bi, ar trebui s\u0103 trece\u021bi la noile op\u021biuni, altfel, la actualizarea versiunii viitoare, ve\u021bi primi erori de compilare.<\/li>\n<li>ma_rb_commit_read(), ma_rb_commit_write(), ma_pcm_rb_commit_read() \u0219i ma_pcm_rb_commit_write() nu mai returneaz\u0103 MA_AT_END. Motivul acestei modific\u0103ri este c\u0103 \u00een bufferul circular nu exist\u0103 un concept de \u201esf\u00e2r\u0219it\u201d, ceea ce f\u0103cea rezultatul codului neclar. \u00cen plus, aceste func\u021bii pot returna altceva dec\u00e2t MA_SUCCESS, chiar \u0219i atunci c\u00e2nd opera\u021bia s-a finalizat cu succes, ceea ce ad\u0103uga confuzie suplimentar\u0103. Modului corect de a verifica dac\u0103 mai exist\u0103 spa\u021biu \u00een bufferul circular este s\u0103 verifica\u021bi contorul de cadre returnat de func\u021biile rb_acquire_read\/write().<\/li>\n<li>Implementarea sursei de date ma_pcm_rb a fost modificat\u0103 astfel \u00eenc\u00e2t ie\u0219irile s\u0103 fie completate cu t\u0103cere, dac\u0103 \u00een buffer-ul inelar nu sunt suficiente date pentru a \u00eendeplini cererea. Aceasta \u00eenseamn\u0103 c\u0103 ma_data_source_read_pcm_frames() pentru ma_pcm_rb nu ar trebui s\u0103 returneze acum un num\u0103r de cadre mai mic dec\u00e2t ai cerut \u0219i, prin urmare, nu va returna niciodat\u0103 MA_AT_END, care nu are sens pentru buffer-ul inelar, deoarece nu are no\u021biunea de sf\u00e2r\u0219it. Aceast\u0103 schimbare ar trebui s\u0103 simplifice considerabil utilizarea buffer-ului inelar ca surs\u0103 de date pentru ma_sound.<\/li>\n<li>Func\u021bia ma_calculate_buffer_size_in_milliseconds_from_frames() a suferit o mic\u0103 modificare, care \u00eei permite acum s\u0103 returneze o valoare rotunjit\u0103 la cel mai apropiat num\u0103r \u00eentreg.<\/li>\n<li>\u00cen cazul unei ini\u021bializ\u0103ri e\u0219uate a decoder-ului, acum se returneaz\u0103 primul cod de eroare \u00eent\u00e2lnit, \u00een loc de MA_NO_BACKEND, indiferent de eroare, ca \u00eenainte.<\/li>\n<li>A fost ad\u0103ugat\u0103 func\u021bia ma_device_id_equal() pentru compararea identificatorilor de dispozitive.<\/li>\n<li>A fost ad\u0103ugat suport pentru MA_NO_RUNTIME_LINKING \u00een backend-ul AAudio.<\/li>\n<li>Documenta\u021bia a fost actualizat\u0103.<\/li>\n<li>Au fost corectate erorile descoperite.<\/li>\n<\/ul>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/17896481\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 miniaudio, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u0439, \u043a\u0430\u043a \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. miniaudio \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u044b\u0445 \u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u0432\u043a\u043b\u044e\u0447\u0430\u044f Windows, macOS, Linux, BSD, iOS, Android \u0438 Web (\u0447\u0435\u0440\u0435\u0437 Emscripten) \u0431\u0435\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0433\u0438\u0431\u043a\u0438\u0439 \u0438 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 API [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":122101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-122100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/miniaudio-0-11-22\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47miniaudio 0.11.22 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/miniaudio-0-11-22\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-26T12:22:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-26T12:22:19+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47miniaudio 0.11.22 | ProHoster","description":"Pe 24 februarie, dup\u0103 mai bine de un an de dezvoltare, a fost lansat\u0103 versiunea 0.11.22.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/miniaudio-0-11-22","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47miniaudio 0.11.22 | ProHoster","og:description":"24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/miniaudio-0-11-22","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-02-26T12:22:19+00:00","article:modified_time":"2025-02-26T12:22:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"122100","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 10:55:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:55:24","updated":"2026-01-23 10:55:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/122100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=122100"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/122100\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/122101"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=122100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=122100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=122100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}