player增加speed,pause扩展,seek支持秒级定位,MP4按时间戳生成文件

This commit is contained in:
baiyfcu
2021-08-09 18:28:43 +08:00
parent 9e5d325e43
commit 0ed902509a
25 changed files with 455 additions and 52 deletions

View File

@@ -65,6 +65,12 @@ public:
*/
virtual void pause(bool bPause) {}
/**
* 倍数播放
* @param speed 1.0 2.0 0.5
*/
virtual void speed(float speed) {}
/**
* 中断播放
*/
@@ -94,12 +100,24 @@ public:
*/
virtual float getProgress() const { return 0;}
/**
* 获取播放进度pos取值 相对开始时间增量 单位秒
* @return
*/
virtual uint32_t getProgressPos() const { return 0; }
/**
* 拖动进度条
* @param fProgress 进度,取值 0.0 ~ 1.0
*/
virtual void seekTo(float fProgress) {}
/**
* 拖动进度条
* @param seekPos 进度,取值 相对于开始时间的增量 单位秒
*/
virtual void seekTo(uint32_t seekPos) {}
/**
* 设置一个MediaSource直接生产rtsp/rtmp代理
* @param src
@@ -175,6 +193,12 @@ public:
}
return Parent::getProgress();
}
uint32_t getProgressPos() const override {
if (_delegate) {
return _delegate->getProgressPos();
}
return Parent::getProgressPos();
}
void seekTo(float fProgress) override{
if (_delegate) {
return _delegate->seekTo(fProgress);
@@ -182,6 +206,13 @@ public:
return Parent::seekTo(fProgress);
}
void seekTo(uint32_t seekPos) override {
if (_delegate) {
return _delegate->seekTo(seekPos);
}
return Parent::seekTo(seekPos);
}
void setMediaSource(const MediaSource::Ptr & src) override {
if (_delegate) {
_delegate->setMediaSource(src);