制作一个播放器(一)
制作一个播放器(二)
制作一个播放器(三)
接着上一章,我们这一章继续写一个播放器。
最近也想给自己充充电。在学习这里面的教程
这一章开始写具体的界面了。开始设计一个可以选择的界面。
部分代码如下:
#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