发现实时音频传输也不是那么简单的,还是先学学别人的吧!JVOIPLIB是利用JRTPLIB做的,也便于以后的扩展应用。
1 . 安装好JRTPLIB和JTHREAD。此处步骤比较简单,./configure  ; make  ; make install;   三板斧!  而注意一点的是,要先安装JHTREAD,再安装JRTPLIB,因为JRTPLIB的.configure会去检查是否安装了JTHREAD,即是否支持多线程。(我在此就犯了个错误,是先安装JRTPLIB的,导致后面安装JVOIPLIB时,老报错,多线程支持通不过。
2. 安装好JVOIPLIB,步骤同上,当然还可以安装一些其它的库如:speex压缩库;libsndfile格式转化库等。
3.编译example里的文件,如编译localsimple.cpp  ,由于此程序的编译要用到头文件的查找,共享库的连接等,我写了个简单的Makefile:
INCL = -I/usr/local/include/jvoiplib -I/usr/local/include/jthread     #增加头文件的包含路径
CFLAGS = -pipe -O2 -fno-strength-reduce
LFLAGS = /usr/local/lib/libjvoip.a -L/usr/X11R6/lib
LIBS = -LX11 -LXext -L /usr/local/lib -l jvoip -L /usr/local/lib -l jthread   #连接共享库
CC = g++
OBJECT = localsimple
$(OBJECT):$(OBJECT).o
    $(CC) $(LFLAGS) $(INCL) -o $(OBJECT) $(OBJECT).o $(LIBS)
    
$(OBJECT).o:$(OBJECT).cpp

.SUFFIXES:.cpp
.cpp.o:
    $(CC) -c $(CFLAGS) $(INCL) -o $@ $<      
clean:
    rm -f main
    rm -f *.o      
4. 运行
第一次运行./localsimple ,它提示:error while loading shared libraries: libjvoip.so.1.4: cannot open shared object file: No such file or directory
后面查到是因为连接了共享库却没有加共享库路径,当然就找不到连接库了。
运行命令:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib        
将共享库路径添加到收索路添中,即可。
程序终于能运行了,但仍然听到不声音,明天继续努力!
posted on 2009-09-23 20:54  物联互通  阅读(726)  评论(0编辑  收藏  举报