ライブストリームでは、HTTP経由でWindowsメディアを意味している場合、あなたはこれを試みることができる:
まずCLSID_NetShowSourceためのGUIDを定義し、
#include <initguid.h>
DEFINE_GUID(CLSID_NetShowSource,
0x6b6d0800, 0x9ada, 0x11d0, 0xa5, 0x20, 0x0, 0xa0, 0xd1, 0x1, 0x29, 0xc0);
のようなものを次に、あなたがそれを使用することができ、次のよう
IBaseFilter* wmsrc;
//create a basefilter instance from the GUID
hr = CoCreateInstance(CLSID_NetShowSource, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&wmsrc);
if(!FAILED(hr))
{
IFileSourceFilter* fsf;
//get us a file source filter, this can read from urls
wmsrc->QueryInterface(IID_IFileSourceFilter, (void**)&fsf);
if(fsf)
{
//wFilename is a widechar string containing the stream url
hr = fsf->Load(wFilename, NULL);
if(!FAILED(hr))
{
//at this point you can do as you wish with the filter
}
}
}
これを実装してからしばらく経っていますが、参考になることを願っています。私はこのスニペットが何らかのエラーチェックをしていないことを確かめています。
....のライブストリーム....? HTTP? RTSP? RTMP? MMS?ここで実際にライブストリーミングプロトコルを指定する必要があります。単一の「ライブストリーミング」ソースフィルタはありません。 – kidjan
あなたのデスクトップのライブストリーム? – rogerdpack
@rogerdpack - はい。いくつかのテスト目的のために。ありがとう。 –