仿迅雷播放器教程 -- 封装VLC (5)

    虽然上个教程中10多行代码便做出了一个播放器,但如果加上快进快退等功能的话,代码都会挤在一团,阅读性很差,所以这个版本将对VLC进行封装,由于第一个教程已经进行了ffmpeg的封装,所以这里将利用它的框架CAVPlayer,由于这些封装代码都很简洁明了,所以将不再对细节一一介绍,直接给出封装好的代码。
复制代码
#include <string>
#include "AVPlayer.h"
 
int main(int argc, char* argv[])
{
    std::string strCMD;
    CAVPlayer   cAVPlayer;
 
    cAVPlayer.Play("G:\\media test\\music\\amani.wma");
 
    while(true)
    {
        std::cin >> strCMD;
 
        if (! strCMD.compare("Quit"))
        {
            break;
        }
    }
 
    return 0;
}
复制代码

    运行之后,输入Quit即可退出。这里有效代码仅仅一行,是不是比上一个教程又简洁很多呢~O(∩_∩)O~

    其中CAVPlayer的部分封装如下:
复制代码
class CAVPlayer
{
public:
    CAVPlayer(void);
    ~CAVPlayer(void);
 
    void Init();                            // 初始化
    void Close();                           // 关闭文件及清理
 
    bool Play(const std::string &strPath);  // 播放路径为strPath的文件
    void PlayNext();                        // 播放下一个文件
    void PlayPre();                         // 播放上一个文件
 
    void Stop ();                           // 停止
    void Pause();                           // 暂停
 
    void Volume(int nVol);                  // 音量设置为nVol
    void VolumeIncrease();                  // 音量增大
    void VolumeReduce();                    // 音量减小
 
    void SeekTo(int nPos);                  // 跳到指定位置nPos
    void SeekForward();                     // 快进
    void SeekBackward();                    // 快退
......
}
复制代码

    CAVPlayer目前只实现了Play函数,其他函数将会在后面的教程一次性实现,届时不再一一列出,这里给出一个框架,加快大家对VLC的认识。 

 
    代码下载:http://download.csdn.net/detail/qq316293804/6398995
(代码在win7系统的VC6、VS2008、VS2010、VS2012下均编译通过;在XP系统的VS2008、VS2010下均编译通过;在gcc下应该也能编译通过,不过没有用gcc测试。
由于第一个教程给出的是VS2010的代码,有些小伙伴没安装这个编译器,导致很多问题,所以这个教程给出的代码是VC6的,可以升级到任何编译器)
 
 
(由于界面等工作还没开始,所以下一个教程可能会隔得久一点,Alberl会尽快直播~)
来自为知笔记(Wiz)



posted on   Alberl  阅读(8471)  评论(4编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示