制作一个播放器(三)

该博客系列介绍了如何逐步构建一个播放器,包括通过文件框播放网络流、基础播放控制、倍速播放、音量调节和进度条功能。目前尚未支持本地播放,计划在后续章节中添加。提供的代码片段展示了播放器接口的设计,并提到了一个名为 `VlcMediaCfg.h` 的头文件。项目源代码可在gitee的player03仓库找到。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

制作一个播放器(一)


制作一个播放器(二)

制作一个播放器(三)

接着上一章,我们这一章继续写一个播放器。

最近也想给自己充充电。在学习这里面的教程

C/C++Linux服务器开发高级架构师学习视频

这一章开始写具体的界面了。开始设计一个可以选择的界面。

部分代码如下:

#ifndef _VLC_MEDIA_H_
#define _VLC_MEDIA_H_

#include "VlcMediaCfg.h"

namespace vlcmedia
{
    interface IMedia;

    typedef std::shared_ptr<IMedia> spIMedia;

    typedef std::function<void(uint8_t* pData, int width, int height)> NotifyVideo;
    typedef std::function<void(int64_t now, int64_t total)> NotifyUpdateTime;

    interface VLCMEDIA_LIBRARY_EXPORT IMedia
    {
        virtual void OpenUrl(const char* url) = 0;
        virtual void Play() = 0;
        virtual void Stop() = 0;
        virtual void Pause() = 0;
        virtual void SetMute(bool mute) = 0;
        virtual bool GetMute() = 0;
        virtual void SetVolume(int volume) = 0;
        virtual int GetVolume() = 0;
        virtual void SetPlayPos(float pos) = 0;
        virtual void SetPlaySpeed(float speed) = 0;

        
    };

    interface VLCMEDIA_LIBRARY_EXPORT MediaFactory
    {
        static spIMedia createMedia(int64_t hWnd, const NotifyVideo& video, const NotifyUpdateTime& time);
    };

    
    
    

};

#endif // !_VLC_MEDIA_H_

相关界面,借助网络。

本期实现功能:

1、可以通过文件框,来播放网络流(暂时还没有加入本地播放)

2、基础播放,暂停,停止播放

3、支持倍速播放

4、支持音频调节,是否静音

5、支持进度条拖拽播放

界面上的功能都支持,暂时还没加本地播放,下一章准备加上本地播放

gitee地址:player03

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值