C
QMediaSessionController 类
QMediaSessionController 类用于控制设备上正在播放的当前媒体。 (技术预览) 更多...
头文件 | #include <QMediaSessionController> |
CMake | find_package(Qt6 REQUIRED COMPONENTS AndroidAutomotiveMedia) target_link_libraries(mytarget PRIVATE Qt6::AndroidAutomotiveMedia) |
qmake | QT += media |
自 | QtAndroidAutomotive 6.5 |
继承 | QObject |
公共类型
枚举 | PlaybackAction { NoAction, PlayAction, PauseAction, StopAction, SkipToNextAction, …, PositionAction } |
标志 | PlaybackActions |
枚举 | PlaybackState { NoState, PausedState, PlayingState, StoppedState, BufferingState, …, ErrorState } |
公共函数
QMediaSessionController::PlaybackActions | availableActions() const |
float | bufferProgress() const |
qint64 | duration() const |
QMediaMetaData | metaData() const |
qreal | playbackRate() const |
QMediaSessionController::PlaybackState | playbackState() const |
qint64 | position() const |
公共槽
void | 暂停() |
void | 播放() |
void | setPlaybackRate(qreal rate) |
void | setPosition(qint64 position) |
void | 跳转到下一首() |
void | 跳转到上一首() |
void | 停止() |
信号
void | availableActionsChanged() |
void | bufferProgressChanged() |
void | durationChanged() |
void | metaDataChanged() |
void | playbackRateChanged() |
void | playbackStateChanged() |
void | positionChanged() |
详细描述
QMediaSessionController 提供了控制媒体播放和获取媒体信息(如元数据)的功能。
当系统通知有新的媒体管理器被添加或删除时,由 QMediaSessionManager 实例化此类。要访问控制器,请使用 QMediaSessionManager::activeControllers()。
成员类型文档
枚举 QMediaSessionController::PlaybackAction
标志 QMediaSessionController::PlaybackActions
这些标志表示控制器可以执行的操作,并用于在媒体不支持该操作时隐藏UI控件。例如,如果媒体支持播放、暂停和停止操作。
常量 | 值 | 描述 |
---|---|---|
QMediaSessionController::NoAction | 0 | 未知或不定义的操作 |
QMediaSessionController::PlayAction | 1 << 0 | 媒体可播放 |
QMediaSessionController::PauseAction | 1 << 1 | 媒体可暂停 |
QMediaSessionController::StopAction | 1 << 2 | 媒体可停止 |
QMediaSessionController::SkipToNextAction | 1 << 3 | 媒体支持跳转至下一媒体 |
QMediaSessionController::SkipToPreviousAction | 1 << 4 | 媒体支持跳转至上一媒体 |
QMediaSessionController::PlaybackRateAction | 1 << 5 | 媒体支持更改播放速率 |
QMediaSessionController::PositionAction | 1 << 6 | 媒体支持更改当前播放位置 |
注意:对于Android,PlaybackRateAction操作需要最低SDK版本31(Android 12)
PlaybackActions类型是< Portugal>QFlags<PlaybackAction>的typedef。它存储了PlaybackAction值的OR组合。
枚举 QMediaSessionController::PlaybackState
此枚举指定控制器可以具有的状态。例如,如果媒体正在播放、暂停等。
常量 | 值 | 描述 |
---|---|---|
QMediaSessionController::NoState | 0 | 媒体处于未知状态或无法获取状态 |
QMediaSessionController::PausedState | 1 | 媒体已暂停 |
QMediaSessionController::PlayingState | 2 | 媒体正在播放 |
QMediaSessionController::StoppedState | 3 | 媒体已停止 |
QMediaSessionController::BufferingState | 4 | 媒体正在缓冲 |
QMediaSessionController::SkippingToNextState | 5 | 媒体正在跳转至下一曲目 |
QMediaSessionController::SkippingToPreviousState | 6 | 媒体正在跳转至上一曲目 |
QMediaSessionController::ErrorState | 7 | 媒体或检索媒体状态时发生错误 |
成员函数文档
QMediaSessionController::PlaybackActions QMediaSessionController::availableActions() const
返回媒体的可用的操作。
[signal]
void QMediaSessionController::availableActionsChanged()
当媒体的可用的操作发生变化时,此信号会被发出。
float QMediaSessionController::bufferProgress() const
返回当前媒体播放缓冲区填充的比例,从0.0
(空)到1.0
(满)。
[signal]
void QMediaSessionController::bufferProgressChanged()
当媒体缓冲进度发生变化时,此信号会被发出。
qint64 QMediaSessionController::duration() const
返回媒体的持续时间(以毫秒计)。也可以从QMediaMetaData::Duration获取。
[signal]
void QMediaSessionController::durationChanged()
当媒体持续时间发生变化时,此信号会被发出。
QMediaMetaData QMediaSessionController::metaData() const
返回媒体的元数据。
[信号]
void QMediaSessionController::metaDataChanged()
当媒体metaData发生变化时,将发出此信号。
[槽函数]
void QMediaSessionController::pause()
暂停媒体。
[槽函数]
void QMediaSessionController::play()
开始播放或继续播放媒体。
qreal QMediaSessionController::playbackRate() const
返回媒体的播放速率。1表示媒体按正常速率播放。2表示媒体以两倍速率播放。负值表示媒体正在倒放。
如果无法检索到有效的播放速率,返回1。
另请参阅QMediaSessionController::setPlaybackRate(qreal rate)。
[信号]
void QMediaSessionController::playbackRateChanged()
当媒体播放速率改变时,将发出此信号。
QMediaSessionController::PlaybackState QMediaSessionController::playbackState() const
返回媒体的播放状态。
如果状态未知或无法检索到有效状态,返回QMediaSessionController::NoState。
[信号]
void QMediaSessionController::playbackStateChanged()
当媒体播放状态改变时,将发出此信号。
qint64 QMediaSessionController::position() const
以毫秒为单位返回媒体的当前播放位置。
如果无法检索到有效位置,返回0。
另请参阅QMediaSessionController::setPosition(qint64 position)。
[信号]
void QMediaSessionController::positionChanged()
当媒体播放位置改变时,将发出此信号。
在媒体播放时,每100毫秒发出一次。
[槽函数]
void QMediaSessionController::setPlaybackRate(qreal rate)
设置媒体的播放
速率。
在Android上,传递速率
为0将被忽略,因为它不是有效的。
另请参阅playbackRate。
[槽函数]
void QMediaSessionController::setPosition(qint64 position)
设置媒体播放的位置,单位为毫秒。
如果位置小于 0
或大于 duration,则该值会被忽略
另请参阅QMediaSessionController::position。
[槽]
void QMediaSessionController::skipToNext()
播放应用程序播放队列中的下一媒体。
[槽]
void QMediaSessionController::skipToPrevious()
播放应用程序播放队列中的上一媒体。
[槽]
void QMediaSessionController::stop()
停止媒体。
在特定Qt许可证下可用。
了解更多信息。