私はQtとlibvlcを使って、ipカメラストリーム用のGUIを作成しています。私はそれを終えた後、私は間違った値NULLs ...などに対してそれをテストし始めた。私の問題は、私がネットワークリンクとして間違った文字列を与えるとき、戻り値としてNULLを取得しない。コードの一部が、この今qt ipカメラストリーム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
私はそれがdllsとバージョンで動作するようになる問題を抱えていたと私は中央の人をスキップすることに決めた... –