เชฒเซเชเชจเซ เชธเชพเชฎเชเซเชฐเซ เชฎเชพเชฐเชพ เชชเชฐเชฅเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ
เชเซเชจ เชกเชฟเชเซเชเซเชเชฐ
เชเซเชฒเซเชฒเชพเชฎเชพเช
เชเซเชจเชพ เชฆเชฟเชตเชธเซเชฎเชพเช, เชเซเชฏเชพเชฐเซ เชฆเชฐเซเช เชเซเชเซเชเชฌ เชชเชพเชธเซ เชเซเชตเซ เชจเชนเซเชคเซเช, เช เชจเซ เชคเซเชฎเชพเชเชฅเซ เช เชกเชงเชพ เชฒเซเชเซ เชชเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชจเชฒเซ เชธเซเชตเชฟเช เชเชฐเชคเชพ เชนเชคเชพ, เชคเซเชฏเชพเชฐเซ เชตเชฟเชฆเซเชถเซ เชคเชเชจเซเชเซ เชชเซเชฐเซเชธเชจเซ เชธเชฎเซเชเซเชทเชพเชเชฎเชพเช เชฐเชธเชชเซเชฐเชฆ เชธเชฎเชพเชเชพเชฐ เชฆเซเชเชพเชฏเชพ เชนเชคเชพ เชเซ เชเช เชเซเชตเซ เชเชคเซเชชเชพเชฆเชเซ เชคเซเชฎเชจเชพ เชเชชเชเชฐเชฃเซเชจเซ เชตเชพเชฏเชฐเชฒเซเชธ เชฐเชฟเชฎเซเช เชเชเชเซเชฐเซเชฒเชฅเซ เชธเชเซเช เชเชฐเซเชฏเชพ เชนเชคเชพ. เชตเชฟเชเชคเซ เชชเชฐเชฅเซ เชคเซ เชเชพเชฃเซเชคเซเช เชนเชคเซเช เชเซ เชฐเชฟเชฎเซเช เชเชเชเซเชฐเซเชฒ เช เชธเชพเชฎเชพเชจเซเชฏ เช เชญเชฟเชเชฎเชจเชพ เชเชชเชฏเซเชเชจเซ เชเชญเชพเชฐเซ เชฌเซเชเชฐเซ เชตเชฟเชจเชพ เชเชพเชฎ เชเชฐเซ เชเซ - เชฐเซเชฎเซเช เชเชเชเซเชฐเซเชฒ เชฏเชพเชเชคเซเชฐเชฟเช เชนเชคเซเช เช เชจเซ เชคเซ เชธเชเชเซเชคเชจเชพเช เชธเชพเชงเชจเชจเซ เชตเชฐเซเชฃเชธเชเชเชฐ เชนเชคเซ - เชฎเซเชเชพเชฒเซเชซเซเชจ เช เชจเซ เชฐเชฟเชตเซเชฒเซเชตเชฐ. เชฐเชฟเชตเซเชฒเซเชตเชฐเชจเชพ เชกเซเชฐเชฎเชฎเชพเช เชตเชฟเชตเชฟเชง เชฒเชเชฌเชพเชเชจเชพ เชงเชพเชคเซเชจเชพ เชธเชฟเชฒเชฟเชจเซเชกเชฐเซ เชนเชคเชพ เช เชจเซ เชเซเชฏเชพเชฐเซ เชซเชพเชฏเชฐเชฟเชเช เชชเชฟเชจ เชคเซเชฎเชพเชเชฅเซ เชเช เชธเชพเชฅเซ เช เชฅเชกเชพเช เชคเซเชฏเชพเชฐเซ เชธเชฟเชฒเชฟเชจเซเชกเชฐ เชคเซเชจเซ เชชเซเชคเชพเชจเซ เชเชตเชฐเซเชคเชจ เชชเชฐ เชตเชพเชเชตเชพ เชฒเชพเชเซเชฏเซ. เชธเชเชญเชตเชคเช เช เชฒเซเชเซเชฐเชพเชธเชพเชเชจเซเชก เชชเชฐ. เชเซเชตเซเชฎเชพเชเชจเชพ เชเชฒเซเชเซเชเซเชฐเซเชจเชฟเชเซเชธเซ เช เชธเชฟเชเซเชจเชฒ เชธเชพเชเชญเชณเซเชฏเซเช เช เชจเซ, เชคเซเชจเซ เชเชตเชฐเซเชคเชจ เชจเชเซเชเซ เชเชฐเซเชฏเชพ เชชเชเซ, เชฏเซเชเซเชฏ เชเซเชฐเชฟเชฏเชพ เชเชฐเซ - เชเซเชจเชฒ เชธเซเชตเชฟเช เชเชฐเซ, เชตเซเชฒเซเชฏเซเชฎ เชฌเชฆเชฒเซ, เชเซเชตเซ เชฌเชเชง เชเชฐเซ.
เชเชเซ เชเชชเชฃเซ เชฎเซเชกเชฟเชฏเชพ เชธเซเชเซเชฐเซเชฎเชฐ เชตเชฟเชถเซเชจเชพ เช เชฎเชพเชฐเชพ เชเซเชเชพเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชเชฆเซเชถ เชเซเชฐเชพเชจเซเชธเชฎเชฟเชถเชจ เชธเชฟเชธเซเชเชฎเชจเซ เชชเซเชจเชเชจเชฟเชฐเซเชฎเชพเชฃ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชถเซเช.
เชฐเชฟเชฎเซเช เชเชเชเซเชฐเซเชฒเชจเซเช เช เชจเซเชเชฐเชฃ เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เช เชฎเชพเชฐเชพ เชเซเชจ เชเชจเชฐเซเชเชฐเชจเชพ เชเชฆเชพเชนเชฐเชฃเชจเชพ เชเซเชเซเชธเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เช เชฎเซ เชคเซเชฎเชพเช เชเซเชธเซเชเซเชฐเซเชเชฅเซ เชเชจเชฐเซเชเชฐ เชซเซเชฐเซเชเซเชตเชจเซเชธเซเชจเซเช เชจเชฟเชฏเชเชคเซเชฐเชฃ เช เชจเซ เชกเซเชเซเชกเชฐ เชธเชพเชฅเซเชจเซ เชฐเซเชธเซเชตเชฐ เชเชฎเซเชฐเซเชถเซเช เชเซ เชเชจเซเชธเซเชฒเชฎเชพเช เชชเซเชฐเชพเชชเซเชค เชเชฎเชพเชจเซเชกเชจเซ เชเชเชเชชเซเช เชเชฐเชถเซ. เชซเซเชฐเชซเชพเชฐ เชเชฐเซเชฏเชพ เชชเชเซ, เชเชจเชฐเซเชเชฐเซ 6 เชซเซเชฐเซเชเซเชตเชจเซเชธเซเชจเชพ เชเซเชจ เชเชคเซเชชเชจเซเชจ เชเชฐเชตเชพ เชเซเชเช, เชเซเชจเซ เชธเชพเชฅเซ เช เชฎเซ เชตเซเชฒเซเชฏเซเชฎ เชตเชงเชพเชฐเชตเชพ/เชเชเชพเชกเชตเชพ, เชเซเชจเชฒ เชฌเชฆเชฒเชตเชพ, เชเซเชตเซ เชเชพเชฒเซ/เชฌเชเชง เชเชฐเชตเชพ เชฎเชพเชเซเชจเชพ เชเชฆเซเชถเซเชจเซ เชเชจเซเชเซเชก เชเชฐเซเชถเซเช. เชกเชฟเชเซเชเซเชเชฐเชจเซ เชเซเช เชตเชตเชพ เชฎเชพเชเซ, เชจเซเชเซเชจเซ เชฐเชเชจเชพเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ:
struct _MSToneDetectorDef{
char tone_name[8];
int frequency; /**<Expected frequency of the tone*/
int min_duration; /**<Min duration of the tone in milliseconds */
float min_amplitude; /**<Minimum amplitude of the tone, 1.0 corresponding to the normalized 0dbm level */
};
typedef struct _MSToneDetectorDef MSToneDetectorDef;
เชเช เชกเชฟเชเซเชเซเชเชฐเชจเซ เชเชฎเชพเชเชฅเซ 10 เชธเซเชเซเชฐเชเซเชเชฐเซเชธ เชเชชเซ เชถเชเชพเชฏ เชเซ, เชคเซเชฅเซ เชเช เชกเชฟเชเซเชเซเชเชฐเชจเซ เชฆเชธ เชฌเซ-เชเซเชจ เชธเชฟเชเซเชจเชฒเซ เชถเซเชงเชตเชพ เชฎเชพเชเซ เชเซเช เชตเซ เชถเชเชพเชฏ เชเซ. เชชเชฐเชเชคเซ เช เชฎเซ เชฎเชพเชคเซเชฐ เช เชธเชฟเชเชเชฒ-เชเซเชจ เชธเชฟเชเซเชจเชฒเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เชกเชฟเชเซเชเซเชเชฐเชฎเชพเช เชธเซเชเชฟเชเชเซเชธ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, MS_TONE_DETECTOR_ADD_SCAN เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ.
เชกเชฟเชเซเชเซเชเชฐ เช เชฎเชจเซ เชธเซเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชเซ เชเชเซเชเชฟเชค เชเชตเชฐเซเชคเชจ เชเชเชเซ เชธเชพเชฅเซเชจเซ เชธเชเชเซเชค เชคเซเชจเชพ เชเชจเชชเซเช เชชเชฐ เชเชตเซเชฏเซ เชเซ, เช เชฎเชพเชฐเซ เชคเซเชจเซ เชเซเชฒเชฌเซเช เชซเชเชเซเชถเชจ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเซเช เชเชตเชถเซเชฏเช เชเซ เชเซ เชคเซ เช เชเชฟเชธเซเชธเชพเชฎเชพเช เชถเชฐเซ เชเชฐเชถเซ. เช เชซเชเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ ms_filter_set_notify_callback(). เชฆเชฒเซเชฒเซ เชคเชฐเซเชเซ, เชคเซ เชซเชฟเชฒเซเชเชฐ เชฎเชพเชเซ เชชเซเชเชจเซเชเชฐ, เชเซเชฒเชฌเซเช เชซเชเชเซเชถเชจ เชฎเชพเชเซ เชชเซเชเชจเซเชเชฐ เช เชจเซ เชกเซเชเชพ เชฎเชพเชเซ เชชเซเชเชจเซเชเชฐ เชฎเซเชณเชตเซ เชเซ เชเซเชจเซ เชเชชเชฃเซ เชเซเชฒเชฌเซเช เชซเชเชเซเชถเชจ (เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชกเซเชเชพ) เชชเชฐ เชฎเซเชเชฒเชตเชพ เชฎเชพเชเชเซเช เชเซเช.
เชเซเชฏเชพเชฐเซ เชกเชฟเชเซเชเซเชเชฐ เชเซเชฐเชฟเชเชฐ เชฅเชพเชฏ เชเซ, เชคเซเชฏเชพเชฐเซ เชเซเชฒเชฌเซ เช เชซเชเชเซเชถเชจ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชกเซเชเชพ, เชกเชฟเชเซเชเซเชเชฐ เชซเชฟเชฒเซเชเชฐ เชฎเชพเชเซ เชเช เชจเชฟเชฐเซเชฆเซเชถเช, เชเชตเซเชจเซเช เชเชณเชเชเชฐเซเชคเชพ เช เชจเซ เชเชตเซเชจเซเชเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชคเซ เชฐเชเชจเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชถเซ:
/** * Structure carried as argument of the MS_TONE_DETECTOR_EVENT**/
struct _MSToneDetectorEvent{
char tone_name[8]; /* ะะผั ัะพะฝะฐ ะบะพัะพัะพะต ะผั ะตะผั ะฝะฐะทะฝะฐัะธะปะธ ะฟัะธ ะฝะฐัััะพะนะบะต ะดะตัะตะบัะพัะฐ. */
uint64_t tone_start_time; /* ะัะตะผั ะฒ ะผะธะปะปะธัะตะบัะฝะดะฐั
, ะบะพะณะดะฐ ัะพะฝ ะฑัะป ะพะฑะฝะฐััะถะตะฝ. */
};
typedef struct _MSToneDetectorEvent MSToneDetectorEvent;
เชธเชฟเชเซเชจเชฒ เชชเซเชฐเซเชธเซเชธเชฟเชเชเชจเซ เชฌเซเชฒเซเช เชกเชพเชฏเชพเชเซเชฐเชพเชฎ เชถเซเชฐเซเชทเช เชเชฟเชคเซเชฐเชฎเชพเช เชฌเชคเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ.
เช เซเช เชเซ, เชนเชตเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเซเชก เชชเซเชคเซ เชเชฟเชชเซเชชเชฃเซเช เชธเชพเชฅเซ.
/* ะคะฐะนะป mstest4.c ะะผะธัะฐัะพั ะฟัะปััะฐ ัะฟัะฐะฒะปะตะฝะธั ะธ ะฟัะธะตะผะฝะธะบะฐ. */
#include <mediastreamer2/msfilter.h>
#include <mediastreamer2/msticker.h>
#include <mediastreamer2/dtmfgen.h>
#include <mediastreamer2/mssndcard.h>
#include <mediastreamer2/msvolume.h>
#include <mediastreamer2/mstonedetector.h>
/* ะะพะดะบะปััะฐะตะผ ะทะฐะณะพะปะพะฒะพัะฝัะน ัะฐะนะป ั ััะฝะบัะธัะผะธ ัะฟัะฐะฒะปะตะฝะธั ัะพะฑััะธัะผะธ
* ะผะตะดะธะฐัััะธะผะตัะฐ. */
#include <mediastreamer2/mseventqueue.h>
/* ะคัะฝะบัะธั ะพะฑัะฐัะฝะพะณะพ ะฒัะทะพะฒะฐ, ะพะฝะฐ ะฑัะดะตั ะฒัะทะฒะฐะฝะฐ ัะธะปัััะพะผ, ะบะฐะบ ัะพะปัะบะพ ะพะฝ
* ะพะฑะฝะฐััะถะธั ัะพะฒะฟะฐะดะตะฝะธะต ั
ะฐัะฐะบัะตัะธััะธะบ ะฒั
ะพะดะฝะพะณะพ ัะธะณะฝะฐะปะฐ ั ะทะฐะดะฐะฝะฝัะผะธ. */
static void tone_detected_cb(void *data, MSFilter *f, unsigned int event_id,
MSToneDetectorEvent *ev)
{
printf(" ะัะธะฝััะฐ ะบะพะผะฐะฝะดะฐ: %sn", ev->tone_name);
}
int main()
{
ms_init();
/* ะกะพะทะดะฐะตะผ ัะบะทะตะผะฟะปััั ัะธะปัััะพะฒ. */
MSFilter *voidsource = ms_filter_new(MS_VOID_SOURCE_ID);
MSFilter *dtmfgen = ms_filter_new(MS_DTMF_GEN_ID);
MSFilter *volume = ms_filter_new(MS_VOLUME_ID);
MSSndCard *card_playback =
ms_snd_card_manager_get_default_card(ms_snd_card_manager_get());
MSFilter *snd_card_write = ms_snd_card_create_writer(card_playback);
MSFilter *detector = ms_filter_new(MS_TONE_DETECTOR_ID);
/* ะัะธัะฐะตะผ ะผะฐััะธะฒ ะฝะฐั
ะพะดััะธะนัั ะฒะฝัััะธ ะดะตัะตะบัะพัะฐ ัะพะฝะพะฒ, ะพะฝ ะพะฟะธััะฒะฐะตั
* ะพัะพะฑัะต ะฟัะธะผะตัั ัะฐะทััะบะธะฒะฐะตะผัั
ัะธะณะฝะฐะปะพะฒ.*/
ms_filter_call_method(detector, MS_TONE_DETECTOR_CLEAR_SCANS, 0);
/* ะกะพะทะดะฐะตะผ ะธััะพัะฝะธะบ ัะฐะบัะพะฒ - ัะธะบะตั. */
MSTicker *ticker=ms_ticker_new();
/* ะกะพะตะดะธะฝัะตะผ ัะธะปัััั ะฒ ัะตะฟะพัะบั. */
ms_filter_link(voidsource, 0, dtmfgen, 0);
ms_filter_link(dtmfgen, 0, volume, 0);
ms_filter_link(volume, 0, detector, 0);
ms_filter_link(detector, 0, snd_card_write, 0);
/* ะะพะดะบะปััะฐะตะผ ะบ ัะธะปัััั ััะฝะบัะธั ะพะฑัะฐัะฝะพะณะพ ะฒัะทะพะฒะฐ. */
ms_filter_set_notify_callback(detector,
(MSFilterNotifyFunc)tone_detected_cb, NULL);
/* ะะพะดะบะปััะฐะตะผ ะธััะพัะฝะธะบ ัะฐะบัะพะฒ. */
ms_ticker_attach(ticker,voidsource);
/* ะกะพะทะดะฐะตะผ ะผะฐััะธะฒ, ะบะฐะถะดัะน ัะปะตะผะตะฝั ะบะพัะพัะพะณะพ ะพะฟะธััะฒะฐะตั ั
ะฐัะฐะบัะตัะธััะธะบั
* ะพะดะฝะพะณะพ ะธะท ัะพะฝะพะฒ, ะบะพัะพััะน ััะตะฑัะตััั ะพะฑะฝะฐััะถะธะฒะฐัั: ะขะตะบััะพะฒะพะต ะธะผั
* ะดะฐะฝะฝะพะณะพ ัะปะตะผะตะฝัะฐ, ัะฐััะพัะฐ ะฒ ะณะตััะฐั
, ะดะปะธัะตะปัะฝะพััั ะฒ ะผะธะปะปะธัะตะบัะฝะดะฐั
,
* ะผะธะฝะธะผะฐะปัะฝัะน ััะพะฒะตะฝั ะพัะฝะพัะธัะตะปัะฝะพ 0,775ะ. */
MSToneDetectorDef scan[6]=
{
{"V+", 440, 100, 0.1}, /* ะะพะผะฐะฝะดะฐ "ะฃะฒะตะปะธัะธัั ะณัะพะผะบะพััั". */
{"V-", 540, 100, 0.1}, /* ะะพะผะฐะฝะดะฐ "ะฃะผะตะฝััะธัั ะณัะพะผะบะพััั". */
{"C+", 640, 100, 0.1}, /* ะะพะผะฐะฝะดะฐ "ะฃะฒะตะปะธัะธัั ะฝะพะผะตั ะบะฐะฝะฐะปะฐ". */
{"C-", 740, 100, 0.1}, /* ะะพะผะฐะฝะดะฐ "ะฃะผะตะฝััะธัั ะฝะพะผะตั ะบะฐะฝะฐะปะฐ". */
{"ON", 840, 100, 0.1}, /* ะะพะผะฐะฝะดะฐ "ะะบะปััะธัั ัะตะปะตะฒะธะทะพั". */
{"OFF", 940, 100, 0.1} /* ะะพะผะฐะฝะดะฐ "ะัะบะปััะธัั ัะตะปะตะฒะธะทะพั". */
};
/* ะะตัะตะดะฐะตะผ ะฒ ะดะตัะตะบัะพั ัะพะฝะพะฒ ะฟัะธะผะตัั ัะธะณะฝะฐะปะพะฒ. */
int i;
for (i = 0; i < 6; i++)
{
ms_filter_call_method(detector, MS_TONE_DETECTOR_ADD_SCAN,
&scan[i]);
}
/* ะะฐัััะฐะธะฒะฐะตะผ ััััะบัััั, ัะฟัะฐะฒะปััััั ะฒัั
ะพะดะฝัะผ ัะธะณะฝะฐะปะพะผ ะณะตะฝะตัะฐัะพัะฐ.*/
MSDtmfGenCustomTone dtmf_cfg;
dtmf_cfg.tone_name[0] = 0;
dtmf_cfg.duration = 1000;
dtmf_cfg.frequencies[0] = 440;
/* ะัะดะตะผ ะณะตะฝะตัะธัะพะฒะฐัั ะพะดะธะฝ ัะพะฝ, ัะฐััะพัั ะฒัะพัะพะณะพ ัะพะฝะฐ ัััะฐะฝะพะฒะธะผ ะฒ 0.*/
dtmf_cfg.frequencies[1] = 0;
dtmf_cfg.amplitude = 1.0;
dtmf_cfg.interval = 0.;
dtmf_cfg.repeat_count = 0.;
/* ะัะณะฐะฝะธะทัะตะผ ัะธะบะป ัะบะฐะฝะธัะพะฒะฐะฝะธั ะฝะฐะถะฐััั
ะบะปะฐะฒะธั. ะะฒะพะด ะฝัะปั ะทะฐะฒะตััะฐะตั
* ัะธะบะป ะธ ัะฐะฑะพัั ะฟัะพะณัะฐะผะผั. */
char key='9';
printf("ะะฐะถะผะธัะต ะบะปะฐะฒะธัั ะบะพะผะฐะฝะดั, ะทะฐัะตะผ ะฒะฒะพะด.n"
"ะะปั ะทะฐะฒะตััะตะฝะธั ะฟัะพะณัะฐะผะผั ะฒะฒะตะดะธัะต 0.n");
while(key != '0')
{
key = getchar();
if ((key >= 49) && (key <= 54))
{
printf("ะัะฟัะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ: %cn", key);
/* ะฃััะฐะฝะฐะฒะปะธะฒะฐะตะผ ัะฐััะพัั ะณะตะฝะตัะฐัะพัะฐ ะฒ ัะพะพัะฒะตัััะฒะธะธ ั
* ะบะพะดะพะผ ะฝะฐะถะฐัะพะน ะบะปะฐะฒะธัะธ.*/
dtmf_cfg.frequencies[0] = 440 + 100*(key-49);
/* ะะบะปััะฐะตะผ ะทะฒัะบะพะฒะพะน ะณะตะฝะตัะฐัะพั c ะพะฑะฝะพะฒะปะตะฝะฝะพะน ัะฐััะพัะพะน. */
ms_filter_call_method(dtmfgen, MS_DTMF_GEN_PLAY_CUSTOM,
(void*)&dtmf_cfg);
}
ms_usleep(20000);
}
}
เช เชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชฎเซเชชเชพเชเชฒ เช เชจเซ เชฐเชจ เชเชฐเซเช เชเซเช. เชเซ เชฌเชงเซเช เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ, เชคเซ เชชเชเซ เชฒเซเชจเซเช เชเชฐเซเชฏเชพ เชชเชเซ เชเชชเชฃเชจเซ เช เชชเซเชฐเซเชเซเชฐเชพเชฎ เชตเชฐเซเชคเชจ เชเซเชตเซเช เชเชเชเช เชฎเชณเชตเซเช เชเซเชเช:
$ ./mstest4
ALSA lib conf.c:4738:(snd_config_expand) Unknown parameters 0
ALSA lib control.c:954:(snd_ctl_open_noupdate) Invalid CTL default:0
ortp-warning-Could not attach mixer to card: Invalid argument
ALSA lib conf.c:4738:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default:0
ALSA lib conf.c:4738:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default:0
ortp-warning-Strange, sound card Intel 82801AA-ICH does not seems to be capable of anything, retrying with plughw...
ะะฐะถะผะธัะต ะบะปะฐะฒะธัั ะบะพะผะฐะฝะดั, ะทะฐัะตะผ ะฒะฒะพะด.
ะะปั ะทะฐะฒะตััะตะฝะธั ะฟัะพะณัะฐะผะผั ะฒะฒะตะดะธัะต 0.
ortp-warning-alsa_set_params: periodsize:256 Using 256
ortp-warning-alsa_set_params: period:8 Using 8
"1" เชฅเซ "6" เชธเซเชงเซเชจเซ เชเซเชเชชเชฃ เชเซ เชฆเชฌเชพเชตเซ, "Enter" เชเซ เชธเชพเชฅเซ เชชเซเชทเซเชเชฟ เชเชฐเซเชจเซ, เชคเชฎเชพเชฐเซ เช เชธเซเชเชฟ เชเซเชตเซเช เชเชเชเช เชฎเซเชณเชตเชตเซเช เชเซเชเช:
2
ะัะฟัะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ: 2
ะัะธะฝััะฐ ะบะพะผะฐะฝะดะฐ: V-
1
ะัะฟัะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ: 1
ะัะธะฝััะฐ ะบะพะผะฐะฝะดะฐ: V+
3
ะัะฟัะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ: 3
ะัะธะฝััะฐ ะบะพะผะฐะฝะดะฐ: C+
4
ะัะฟัะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ: 4
ะัะธะฝััะฐ ะบะพะผะฐะฝะดะฐ: C-
0
$
เชเชชเชฃเซ เชเซเชเช เชเซเช เชเซ เชเชฎเชพเชจเซเชก เชเซเชจ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ เช เชจเซ เชกเชฟเชเซเชเซเชเชฐ เชคเซเชฎเชจเซ เชถเซเชงเซ เชเชพเชขเซ เชเซ.
เชเชเชฒเชพ เชฒเซเชเชฎเชพเช เช เชฎเซ RTP เชชเซเชฐเซเชเซเชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฅเชฐเชจเซเช เชจเซเชเชตเชฐเซเช เชชเชฐ เชเชกเชฟเชฏเซ เชธเชฟเชเซเชจเชฒ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเชตเชพ เชคเชฐเชซ เชตเชณเซเชถเซเช เช เชจเซ เชคเซเชจเซ เช เชฎเชพเชฐเชพ เชฐเชฟเชฎเซเช เชเชเชเซเชฐเซเชฒเชฎเชพเช เชคเชฐเชค เช เชฒเชพเชเซ เชเชฐเซเชถเซเช.
เชธเซเชฐเซเชธ: www.habr.com