0

我正在尝试制作一个简单的计时器,它会在时间到来时触发特定的回调。我写了这段代码:

void testTimer()
{
    pj_timer_heap_t *timer_heap;
    pj_timer_entry   registrationTimer;
    char *username="test_data";
    pj_timer_entry_init(&registrationTimer, 50, username, &on_timer_event);
    pj_time_val delay;
    delay.sec = 5;
    delay.msec = 0;
    pj_status_t status = pj_timer_heap_create(global.pool, 256, &timer_heap);
    status=pj_timer_heap_schedule(timer_heap,&registrationTimer, &delay);
}

我不知道代码有什么问题。此代码崩溃pj_timer_heap_schedule。我无法弄清楚缺少什么。请帮忙。

4

2 回答 2

0

没有这个问题有点不可能知道

pj_timer_heap_schedule

功能

于 2013-07-26T19:20:36.190 回答
0

尝试初始化为

`pj_bzero(&registrationTimer, sizeof(registrationTimer));`

然后确保你已经完成

`registrationTimer.id = PJSUA_INVALID_ID;`
`registrationTimer.cb = &my_callback;`

最后不要忘记定义和声明你的回调my_callback

祝你好运

于 2013-09-17T21:33:52.653 回答