Омӯзиши муҳаррики Mediastreamer2 VoIP. Қисми 3

Материали макола аз ман гирифта шудааст канали zen.

Омӯзиши муҳаррики Mediastreamer2 VoIP. Қисми 3

Такмил додани намунаи генератори оҳанг

Дар гузашта мақола Мо як барномаи генератори оҳанг навиштем ва онро барои гирифтани садо аз баландгӯяки компютер истифода мебарем. Ҳоло мо мушоҳида хоҳем кард, ки барномаи мо ҳангоми анҷоми он хотираро ба тӯда барнамегардонад. Вакти он расидааст, ки ин масъаларо равшан кунем.

Пас аз он ки мо дигар ба схема ниёз надорем, озод кардани хотира бояд аз боздоштани лӯлаи маълумот оғоз шавад. Барои ин, шумо бояд бо истифода аз функсия манбаи соат ва тикерро аз схема ҷудо кунед ms_ticker_detach(). Дар ҳолати мо, мо бояд тикерро аз вуруди филтр ҷудо кунем манбаи холӣ:

ms_ticker_detach(ticker, voidsource)

Зимнан, пас аз боздоштани конвейер мо метавонем схемаи онро иваз карда, боз ба кор андохта, тикерро боз пайваст кунем.

Акнун мо метавонем онро бо истифода аз функсия хориҷ кунем ms_ticker_destroy():

ms_ticker_destroy(ticker)

Конвейер аз кор монд ва мо метавонем ба демонтажи кисмхои он шуруъ карда, фильтрхоро чудо кунем. Барои ин, функсияро истифода баред ms_filter_unlink():

ms_filter_unlink(voidsource, 0, dtmfgen, 0);
ms_filter_unlink(dtmfgen, 0, snd_card_write, 0);

Мақсади далелҳо ҳамон тавре ки барои функсия аст ms_filter_link().

Мо бо истифода аз филтрҳои ҳоло ҷудошуда хориҷ мекунем ms_filter_destroy():

ms_filter_destroy(voidsource);
ms_filter_destroy(dtmfgen);
ms_filter_destroy(snd_card_write);

Бо илова кардани ин сатрҳо ба мисоли мо, мо барномаро аз нуқтаи назари идоракунии хотира дуруст ба итмом мерасонем.

Тавре ки мо мебинем, дуруст анҷом додани барнома аз мо талаб мекард, ки тақрибан ба ҳамон адад сатрҳои кодро, ки дар ибтидо буд, бо ҳисоби миёна чор сатри код барои як филтр илова кунем. Маълум мешавад, ки андозаи коди барнома мутаносибан ба миқдори филтрҳои дар лоиҳа истифодашаванда зиёд мешавад. Агар мо дар бораи ҳазор филтр дар схема гап занем, пас чор ҳазор хати амалиёти муқаррарӣ барои эҷод ва нест кардани онҳо ба рамзи шумо илова карда мешавад.

Акнун шумо медонед, ки чӣ гуна барномаеро, ки стримери медиаро истифода мебарад, дуруст қатъ кунед. Дар мисолхои зерин ба хотири компакт будан ман ин корро «фаромуш» мекунам. Аммо шумо фаромӯш намекунед?

Таҳиягарони стримери медиа асбобҳои нармафзорро барои осон кардани коркарди филтрҳо ҳангоми васл кардан/тазонидани схемаҳо таъмин накардаанд. Бо вуҷуди ин, як ёваре мавҷуд аст, ки ба шумо имкон медиҳад, ки филтрро аз схема зуд ворид кунед/ хориҷ кунед.

Мо ба ҳалли ин масъала дертар бармегардем, вақте ки шумораи филтрҳо дар мисолҳои мо аз ду даҳҳо зиёд аст.

Баъдӣ мақола Мо як схемаи ҳисобкунаки сатҳи сигналро ҷамъ мекунем ва чӣ тавр хондани натиҷаи андозагириро аз филтр меомӯзем. Биёед дурустии ченкуниро баҳо диҳем.

Манбаъ: will.com

Илова Эзоҳ