我正在尝试实现此代码,但在 Xcode 中出现编译错误:“没有用于初始化 'PlaybackDelegate' 的匹配构造函数”“从不兼容的类型 'PlaybackDelegate' 分配给 'PlaybackDelegate *'”
我从一个有效的示例中复制/粘贴了代码。但我不知道为什么它在我的项目中不起作用。
header file
class PlaybackDelegate : public IDeckLinkVideoOutputCallback
{
DecklinkDevice* pDecklinkDevice;
public:
PlaybackDelegate (DecklinkDevice* owner);
virtual HRESULT QueryInterface (REFIID iid, LPVOID *ppv) {return E_NOINTERFACE;}
virtual ULONG AddRef () {return 1;}
virtual ULONG Release () {return 1;}
virtual HRESULT ScheduledFrameCompleted (IDeckLinkVideoFrame* completedFrame, BMDOutputFrameCompletionResult result);
virtual HRESULT ScheduledPlaybackHasStopped ();
};
.mm 文件
playerDelegate = new PlaybackDelegate(self, deckLinkOutput);
if (playerDelegate == NULL)
{
//NSLog(@"fout completed frame callback");
//fout
}
PlaybackDelegate::PlaybackDelegate (DecklinkDevice* owner)
{
pDecklinkDevice = owner;
}
HRESULT PlaybackDelegate::ScheduledFrameCompleted (IDeckLinkVideoFrame* completedFrame, BMDOutputFrameCompletionResult result)
{
NSLog(@"Frame Completed");
return S_OK;
}
HRESULT PlaybackDelegate::ScheduledPlaybackHasStopped ()
{
return S_OK;
}