0
我正在使用Qt和libvlc爲ip camera流創建一個gui。在我完成它之後,我開始對錯誤的值NULLs進行測試......等等。我的問題是,當我給一個錯誤的字符串作爲網絡鏈接時,我不會將NULL作爲返回值。部分代碼是這樣的qt ip camera stream libvlc返回值
const char * const vlc_args[] = {
"--preferred-resolution=576",
"--network-caching=250",
"--no-audio"
};
my_vlcInstance = libvlc_new(3, vlc_args);
if (my_vlcInstance == NULL){
emit sendDebugMessage("Couldn't create vlc instance", "Red");
return;
}
my_LiveMedia = libvlc_media_new_location(my_vlcInstance, link.toStdString().c_str());
if (my_LiveMedia == NULL){
emit sendDebugMessage("Error installing media", "Red");
return;
}
my_LiveMediaPlayer = libvlc_media_player_new_from_media(my_LiveMedia);
if (my_LiveMediaPlayer == NULL){
emit sendDebugMessage("Error creating media player", "Red");
return;
}
現在鏈接是一個包含網絡鏈接的QString。我知道發生了不好的事情,因爲我可以在Visual Studio調試窗口中看到錯誤。 「核心輸入錯誤:打開`dsfgdfgfg'失敗」「您的輸入無法打開」等等。那爲什麼我不能捕捉到這些錯誤?
此外...當我推動我的開始錄製按鈕時,產生一個文件(明顯損壞,因爲沒有流)和libvlc函數調用不會返回文檔中指定的錯誤。對於這個例子:
if (libvlc_media_player_play(my_LiveMediaPlayer) == 0){
emit sendDebugMessage("Live mode started successfully", "Green");
isLive = true;
}
那麼我如何捕捉不良鏈接?
您是否嘗試過vlc-qt?這可能會幫助你 – Zen
我有一個問題得到它與DLL和版本的工作,我決定跳過中間人... –