求教(附源代码):DXShow接收电视的几个问题:设置静音,利用IBasicVideo获取图象信息和自动搜台的功能。

kernel-ken (源码王道) 2003-12-21 10:44:29

1.设置静音的时候失败:
void CCoolPlayerDlg::OnMute()
{
if(m_pGraph!=NULL)
{
IBasicAudio* pBA;
HRESULT hr=m_pGraph->QueryInterface(IID_IBasicAudio, (void**)&pBA);
if(FAILED(hr))
return;
hr=pBA->put_Volume(-10000);//失败,hr=E_NOTIMPL

if(FAILED(hr))
{
TCHAR szBuf[255];
AMGetErrorText(hr, szBuf, 255);//szBuf="未指定的错误 "
return;
}
pBA->Release();
}
}
2.获取图象信息失败
void CCoolPlayerDlg::OnGetimage()
{
if(m_bPlaying)
OnPlay();
IBasicVideo* pBV;
HRESULT hr=m_pGraph->QueryInterface(IID_IBasicVideo,(void**)&pBV);
if(FAILED(hr))
return;
long lSize;
hr=pBV->GetCurrentImage(&lSize,NULL);//取得字节数
if(FAILED(hr))
return;
char* pBuffer=new char[lSize];
hr=pBV->GetCurrentImage(&lSize, (long*)pBuffer);//失败,有时还死机。
if(FAILED(hr))
{
TCHAR szBuf[255];
AMGetErrorText(hr, szBuf, 255);//szBuf=“没有加载DLL” 什么意思?
return;
}
。。。。。
delete []pBuffer;
pBV->Release();
}
3.
利用IAMTVTuner::StoreAutoTune()和IAMTVTuner::AutoTuner自动搜台的功能有何不同。我试了StoreAutoTune快一些,其他好像没什么不一样啊(文档上说AutoTuner忽略Frequency Overriden,什么意思?)。
另外如何手工调整某个频道的频率了,就像WinDVR那样的(是不是要获取某个PIN)。
还有如果我把视频窗口放大则每一贞每一贞就很不连贯,且图象不清晰,WinDVR则不。需要做什么处理吗。
多谢!
...全文
81 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjbcat 2003-12-22
  • 打赏
  • 举报
回复
我也想要,方便的话也给我一份吧.
zjbcat@163.com
tonylk 2003-12-21
  • 打赏
  • 举报
回复
楼上的,你的问题我不太懂,到是很想要一份你的代码学习学习,能寄给我吗?
tonyki@citiz.net

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧