我在媒体流程类中有一个函数,如下所示:
public void encode(bytes[] data) {
// process the data and then send to RTMP server
}
此功能将每秒调用几次。我需要缓冲字节5秒,然后发送它。如果在函数中创建Timer
或Thread
,则会浪费内存。有没有更好的方法来实现目标?
答案 0 :(得分:1)
你应该已经在一个帖子中执行此sending
,所以为什么不简单地调用sleep(5000);
答案 1 :(得分:1)
你可以试试这个
long t0 = System.currentTimeMillis();
public void encode(byte[] data) {
if (System.currentTimeMillis() - t0 >= 5000) {
t0 = System.currentTimeMillis();
// process the data and then send to RTMP server
} else {
// buffer data
}
}