發現實時音訊傳輸也不是那麼簡單的,還是先學學別人的吧!jvoiplib是利用jrtplib做的,也便於以後的擴充套件應用。
1 . 安裝好jrtplib和jthread。此處步驟比較簡單,./configure ; make ; make install; 三板斧! 而注意一點的是,要先安裝jhtread,再安裝jrtplib,因為jrtplib的.configure會去檢查是否安裝了jthread,即是否支援多執行緒。(我在此就犯了個錯誤,是先安裝jrtplib的,導致後面安裝jvoiplib時,老報錯,多執行緒支援通不過。
2. 安裝好jvoiplib,步驟同上,當然還可以安裝一些其它的庫如:speex壓縮庫;libsndfile格式轉化庫等。
3.編譯example裡的檔案,如編譯local******.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 = local******
$(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. 執行
後面查到是因為連線了共享庫卻沒有加共享庫路徑,當然就找不到連線庫了。
執行命令:export ld_library_path=$ld_library_path:/usr/local/lib
將共享庫路徑新增到收索路添中,即可。
程式終於能執行了,但仍然聽到不聲音,明天繼續努力!
Python中的descriptor中的一點疑問
在我的印象中,類中的函式是可以有兩種呼叫方式的,如下 class b def func self return 10 b b b.func b.func b 於是,在之前研究descriptor的時候,我就有了幾點困惑 我將 更換成了如下兩個版本 版本1 import time class lazy...
python中的dict Python中的dict
dict python內建了字典 dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵 值 key value 儲存,具有極快的查詢速度。d print dict get michael d michael add a element d adam 67 print d...
zset中的score Redis中的事務
watch 監控某個或幾個key的變化 multi 接下來的命令不會立馬執行,會先放入乙個事務的佇列中 exec 執行事務佇列中的命令 unwatch 可以在watch執行之後 multi命令執行之前執行,效果是解除對某個key的監控 discard 可以在multi命令執行之後exec命令執行之前...