用RealPlayer控件制作的播放器

本文介绍如何插入RealPlay控件实现媒体文件的播放,代码运行效果图如下:

下面简要介绍一下具体实现步骤:

一、建立基于对话框的程序

二、在对话框内添加RealPlayer G2 control的ActiveX控件

(工程->添加工程->compontent and controls->registed ActiveX controls )。

三、在对话框内添加源程序内所示的按钮和静态文本 分别用于控制打开播放等控制及显示歌曲信息 其ID号如源程序

四、用MFC映射各按钮消息

void CSunapplerealplayerDlg::OnOpen()
{
char szFileFilter[]=
    "RM File(*.rm)|*.rm|"
    "Mp3 File(*.mp3)|*.mp3|"
    "MPEG File(*.mpeg)|*.mpeg|"
    "Media File(*.asf)|*.asf|"
    "Video File(*.dat)|*.dat|"
    "MPGA File(*.mpga)|*.mpga|"
    "Wave File(*.wav)|*.wav|"
    "AVI File(*.avi)|*.avi|"
    "Movie File(*.mov)|*.mov|"
    "Mid File(*.mid;*,rmi)|*.mid;*.rmi|"
    "Wma File(*.wma)|*.wma|"
    "All File(*.*)|*.*||";
  CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);
  if(dlg.DoModal()==IDOK){
    CString PathName=dlg.GetPathName();
    PathName.MakeUpper();
    m_player->SetSource(PathName);
    m_player->DoPlay();
    SetDlgItemText(IDC_STATIC1,m_player->GetAuthor());
    SetDlgItemText(IDC_STATIC2,m_player->GetTitle());
    SetDlgItemText(IDC_COPYRIGHT,m_player->GetCopyright());
    SetDlgItemText(IDC_SOURCE,m_player->GetSource());
  }  
}
void CSunapplerealplayerDlg::OnPlay()
{  
  SetDlgItemText(IDC_STATIC1,m_player->GetAuthor());
  SetDlgItemText(IDC_STATIC2,m_player->GetTitle());
  SetDlgItemText(IDC_COPYRIGHT,m_player->GetCopyright());
  SetDlgItemText(IDC_SOURCE,m_player->GetSource());
  m_player->DoPlay();
  
  UpdateData(false);
  SetTimer(1,20,NULL);
}
void CSunapplerealplayerDlg::OnTimer(UINT nIDEvent)
{
  if(0&&isRepeat)
    m_player->DoPlay();
  CDialog::OnTimer(nIDEvent);
}
void CSunapplerealplayerDlg::OnClose()
{
  ///////添加此代码时不要忘了在stdafx.h开头处添加前两行
  AnimateWindow(GetSafeHwnd(),1000,AW_HIDE|AW_BLEND);
  KillTimer(0);
////////////////////////////////////
//此处采用DestroyWindow关闭窗口
//多谢杜修杏 老师指点
///////////////////////////////////
  this->DestroyWindow();
  
}
void CSunapplerealplayerDlg::OnFullscreen()
{
   m_player->DoPause();
   m_player->SetFullScreen();
   m_player->DoPlay();
}
void CSunapplerealplayerDlg::OnMp3down()
{
  ShellExecute(NULL,_T("open"),"http://sunapple.51.net",NULL,NULL,TRUE);
  
}
void CSunapplerealplayerDlg::OnPause()
{
  m_player->DoPause();
}
void CSunapplerealplayerDlg::OnStop()
{
    m_player->DoStop();
  KillTimer(0);
}
void CSunapplerealplayerDlg::OnRepeat()
{ 
  m_player->SetLoop(true);
  if(isRepeat){
    isRepeat=FALSE;
    SetDlgItemText(IDC_REPEAT,"循环");
  }
  else
  {
    isRepeat=TRUE;
    SetDlgItemText(IDC_REPEAT,"正常");
  }
}
void CSunapplerealplayerDlg::OnLower()
{
  // TODO: Add your control notification handler code here
  short volume=m_player->GetVolume();
  m_player->DoPause();
  m_player->SetVolume(volume-100);
  m_player->DoPlay();
}
void CSunapplerealplayerDlg::OnUpper()
{
  // TODO: Add your control notification handler code here
  short volume=m_player->GetVolume();
  m_player->DoPause();
  m_player->SetVolume(volume+100);
  m_player->DoPlay();
}
void CSunapplerealplayerDlg::OnFloat()
{
  //  TODO: Add your command handler code here
  ShellExecute(NULL,_T("open"),"http://sunapple.51.net",NULL,NULL,TRUE);
}
void CSunapplerealplayerDlg::OnPetroleum()
{
  // TODO: Add your command handler code here
  ShellExecute(NULL,_T("open"),"http://www.hdpu.edu.cn",NULL,NULL,TRUE);
}

时间: 2024-11-30 23:15:39

用RealPlayer控件制作的播放器的相关文章

用c#的DirectShow控件做媒体播放器,急,明天检查!!!

问题描述 如题用c#的DirectShow控件做媒体播放器,简单点也行,明天学校中期检查邮箱bwenming@163.com

vc++6 0-用vc++6.0 利用windows media player控件制作播放器时

问题描述 用vc++6.0 利用windows media player控件制作播放器时 在win7 64位环境下 要对 播放器进行暂停 快进等操作时 调用 CWMPcontrols 函数时 显示 'CWMPcontrols.h': No such file or directory 头文件 也加了 cwmpcontrols.h 头文件换成小写也是不行的 也说不能打开 没有这个文件 cwmpcontrols.h 头文件是存在的在工程目录下: 解决方案 你的VC++版本太旧,没有这个头文件.建议你

IOS UI学习教程之使用UIImageView控件制作动画_IOS

本文实例为大家分享了IOS使用UIImageView控件制作动画的方法,供大家参考,具体内容如下 先添加40张tomcat的图片到资源列表中:名称为cat_eat0000.jpg到cat_eat0039.jpg. 1.定义所需控件 // 定义按钮,图片控件.可变数组对象 UIButton *actionbuttom; UIImageView *imageMove; NSMutableArray *imgsarray; 2.初始化各控件 // image动画 // 初始化UIImageView,大

BCB控件制作和消息处理

1 前言 作为和delphi类似的rad(rapid application development)工具,c++ builder的强大功能不仅体现在数据库开发方面,也凸现于应用程序开发上(令人称绝的是这两方面结合得非常好).仅就应用程序而言,要真正体现c++ builder的优势,开发出高质量的软件,则在拖拉拽放之外,尚需用到一些进阶技术.如消息处理.dll.ole.线程.sdk编程.c++ builder在这些方面都或多或少有独到的优势.此外,可以方便地制作自定义控件,也是c++ build

wpf日历控件制作过程分析(2) 自定义样式属性

接上篇wpf日历控件制作过程分析(1) 定义header 在header中,我们看到了定义一个自定义样式TitleStyle 1.自定义样式 看后台代码定义 Code /**//// <summary> /// The DependencyProperty for the TitleStyle property. /// Flags: none /// Default Value: null /// </summary> public static readonly Depende

音乐播放器实现-学习课程:制作音乐播放器

问题描述 学习课程:制作音乐播放器 在什么地方可以找到有关音乐播放器教学的代码吗?求大神告知,,大神有会的的能不能帮助一下 解决方案 其实百度和csdn都有很多啊,毕业设计很多人做这些东西播放器毕设 csdn下载上面的:播放器

插件-linux下用Qt制作音乐播放器

问题描述 linux下用Qt制作音乐播放器 linux下用Qt制作音乐播放器时提示缺少插件phonon怎么解决,网上搜索了很多,但还是解决不了 解决方案 http://wenku.baidu.com/link?url=ek6Npa245WzZ2Z2vfWnc6at6m51_Wz0DUy74wK2JDPT5O4aZ_KBb3y6VTx8R-v64CZZPCF3y1qVqzu7cBDbsNgWPU-RgJfK5Y8EqrAAdUgu 解决方案二: http://download.csdn.net/d

C/S模式开发中如何利用WebBrowser控件制作导航窗体

原文:C/S模式开发中如何利用WebBrowser控件制作导航窗体 转自: CSDN 相信不少同学们都做过MIS系统的开发,今天这里不讨论B/S模式开发的问题.来谈谈winform开发.用过市面上常见进销存系统的同学肯定知道,在进入系统之后一般在mdi窗体中系统自动打开一个导航子窗体.将一些常见的功能以非常直观的图形展示给用户.观察市面上的此类产品,该功能基本是所有mdi窗体开发的管理系统中必备的功能窗体.下面我们就来分析一下如何在.net中实现这个功能.幸好我上次做了一个类似的系统,里面也用到

AxWindowsMediaPlayer播放控件获取当前播放时间

问题描述 AxWindowsMediaPlayer播放控件获取当前播放时间并转化为毫秒怎么写C# 解决方案