PonyPlayer
Playback类 参考

负责输出视频和音频(不含视频预览). 更多...

#include <playback.hpp>

类 Playback 继承关系图:

信号

void startWork (QPrivateSignal)
 
void stopWork (QPrivateSignal)
 
void clearRingBuffer (QPrivateSignal)
 
void setAudioStartPoint (qreal startPoint, QPrivateSignal)
 
void setAudioVolume (qreal volume, QPrivateSignal)
 
void setAudioPitch (qreal pitch, QPrivateSignal)
 
void setAudioSpeed (qreal speed, QPrivateSignal)
 
void signalSetSelectedAudioOutputDevice (QString)
 
void signalDeviceSwitched ()
 
void showFirstVideoFrame (QPrivateSignal)
 
void clearCacheVideoFrame (QPrivateSignal)
 
void setPicture (VideoFrameRef pic)
 
void stateChanged (bool isPlaying)
 
void resourcesEnd ()
 
void signalAudioOutputDevicesListChanged ()
 
void requestResynchronization (bool enableAudio, bool updateAudioFormat)
 

Public 成员函数

 Playback (Demuxer *demuxer, QObject *parent)
 
PONY_THREAD_SAFE qreal getPreferablePos ()
 
PonyAudioFormat getDeviceFormat ()
 
qreal getAudioPos (bool backward) const
 
void setDesiredFormat (const PonyAudioFormat &format)
 
virtual ~Playback ()
 
void setVolume (qreal volume)
 
void setPitch (qreal pitch)
 
void setSpeed (qreal speed)
 
void setSelectedAudioOutputDevice (QString deviceName)
 
QString getSelectedAudioOutputDevice ()
 
void showFrame ()
 
void clearCacheFrame ()
 
bool isPlaying ()
 
bool isInterrupted ()
 
void setStartPoint (qreal startPoint)
 
void start ()
 
void clear ()
 
void pause ()
 
void stop ()
 
QStringList getAudioDeviceList ()
 
qreal getPitch ()
 

详细描述

负责输出视频和音频(不含视频预览).

这个类负责将上层的帧输出到相应的设备. 这个类的RAII的. 如果没有特殊说明, 这个类的公有方法是线程安全的.

构造及析构函数说明

◆ Playback()

Playback::Playback ( Demuxer demuxer,
QObject *  parent 
)
inline

◆ ~Playback()

virtual Playback::~Playback ( )
inlinevirtual

成员函数说明

◆ clear()

void Playback::clear ( )
inline

清空内部缓冲区, 需要保证此刻没有读写操作.

◆ clearCacheFrame()

void Playback::clearCacheFrame ( )
inline

◆ clearCacheVideoFrame

void Playback::clearCacheVideoFrame ( QPrivateSignal  )
signal

◆ clearRingBuffer

void Playback::clearRingBuffer ( QPrivateSignal  )
signal

◆ getAudioDeviceList()

QStringList Playback::getAudioDeviceList ( )
inline

◆ getAudioPos()

qreal Playback::getAudioPos ( bool  backward) const
inline

◆ getDeviceFormat()

PonyAudioFormat Playback::getDeviceFormat ( )
inline

◆ getPitch()

qreal Playback::getPitch ( )
inline

◆ getPreferablePos()

PONY_THREAD_SAFE qreal Playback::getPreferablePos ( )
inline

◆ getSelectedAudioOutputDevice()

QString Playback::getSelectedAudioOutputDevice ( )
inline

◆ isInterrupted()

bool Playback::isInterrupted ( )
inline

是否请求停止

返回
状态

◆ isPlaying()

bool Playback::isPlaying ( )
inline

是否正在播放

返回
状态

◆ pause()

void Playback::pause ( )
inline

尽快暂停处理, 这个方法将会阻塞直到当前工作停止. 这个方法不会丢失数据.

◆ requestResynchronization

void Playback::requestResynchronization ( bool  enableAudio,
bool  updateAudioFormat 
)
signal

由于设备切换, 音频倍速调整等原因需要下层重新同步

◆ resourcesEnd

void Playback::resourcesEnd ( )
signal

◆ setAudioPitch

void Playback::setAudioPitch ( qreal  pitch,
QPrivateSignal   
)
signal

◆ setAudioSpeed

void Playback::setAudioSpeed ( qreal  speed,
QPrivateSignal   
)
signal

◆ setAudioStartPoint

void Playback::setAudioStartPoint ( qreal  startPoint,
QPrivateSignal   
)
signal

◆ setAudioVolume

void Playback::setAudioVolume ( qreal  volume,
QPrivateSignal   
)
signal

◆ setDesiredFormat()

void Playback::setDesiredFormat ( const PonyAudioFormat format)
inline

◆ setPicture

void Playback::setPicture ( VideoFrameRef  pic)
signal

◆ setPitch()

void Playback::setPitch ( qreal  pitch)
inline

◆ setSelectedAudioOutputDevice()

void Playback::setSelectedAudioOutputDevice ( QString  deviceName)
inline

◆ setSpeed()

void Playback::setSpeed ( qreal  speed)
inline

◆ setStartPoint()

void Playback::setStartPoint ( qreal  startPoint)
inline

◆ setVolume()

void Playback::setVolume ( qreal  volume)
inline

◆ showFirstVideoFrame

void Playback::showFirstVideoFrame ( QPrivateSignal  )
signal

◆ showFrame()

void Playback::showFrame ( )
inline

◆ signalAudioOutputDevicesListChanged

void Playback::signalAudioOutputDevicesListChanged ( )
signal

◆ signalDeviceSwitched

void Playback::signalDeviceSwitched ( )
signal

◆ signalSetSelectedAudioOutputDevice

void Playback::signalSetSelectedAudioOutputDevice ( QString  )
signal

◆ start()

void Playback::start ( )
inline

开始进行处理, 发送信号后方法将立即返回.

◆ startWork

void Playback::startWork ( QPrivateSignal  )
signal

◆ stateChanged

void Playback::stateChanged ( bool  isPlaying)
signal

◆ stop()

void Playback::stop ( )
inline

立即停止, 清空缓冲区的数据.

◆ stopWork

void Playback::stopWork ( QPrivateSignal  )
signal

该类的文档由以下文件生成: