qt_多媒体[wait time....]

qt_多媒体

播放
QMediaPlayer
函数描述
QAudio::Role audioRole() const
int bufferStatus() const
QMediaContent currentMedia() const
QNetworkConfiguration currentNetworkConfiguration() const
qint64 duration() const持续时间
Error error() const
QString errorString() const
bool isAudioAvailable() const
bool isMuted() const是否静音
bool isSeekable() const是否可跳转
bool isVideoAvailable() const可利用的视频
QMediaContent media() const活动媒体源
MediaStatus mediaStatus() const媒体流状态
const QIODevice * mediaStream() const媒体流
qreal playbackRate() const播放速度
QMediaPlaylist * playlist() const播放列表
qint64 position() const位置
void setAudioRole(QAudio::Role audioRole)
void setVideoOutput(QVideoWidget *output)
void setVideoOutput(QGraphicsVideoItem *output)
void setVideoOutput(QAbstractVideoSurface *surface)
State state() const状态
int volume() const音量

slots:

void    pause()
void    play()
void    setMedia(const QMediaContent &media, QIODevice *stream = Q_NULLPTR)
void    setMuted(bool muted)
void    setNetworkConfigurations(const QList<QNetworkConfiguration> &configurations)
void    setPlaybackRate(qreal rate)
void    setPlaylist(QMediaPlaylist *playlist)
void    setPosition(qint64 position)
void    setVolume(int volume)
void    stop()

signals

void    audioAvailableChanged(bool available)
void    audioRoleChanged(QAudio::Role role)
void    bufferStatusChanged(int percentFilled)
void    currentMediaChanged(const QMediaContent &media)
void    durationChanged(qint64 duration)
void    error(QMediaPlayer::Error error)
void    mediaChanged(const QMediaContent &media)
void    mediaStatusChanged(QMediaPlayer::MediaStatus status)
void    mutedChanged(bool muted)
void    networkConfigurationChanged(const QNetworkConfiguration &configuration)
void    playbackRateChanged(qreal rate)
void    positionChanged(qint64 position)
void    seekableChanged(bool seekable)
void    stateChanged(QMediaPlayer::State state)
void    videoAvailableChanged(bool videoAvailable)
void    volumeChanged(int volume)
/*
 * 闲来无事,让音量忽大忽小
 * play()播放
 * setVolume()设置音量
 *
*/
mplay::mplay(QWidget *parent)
    : QMainWindow(parent)
{
   QMediaPlayer* player = new QMediaPlayer;
    player->setMedia(QUrl("E:/qt/假行僧.mp3"));
    QTimer *timer = new QTimer();
    int i=10;
    connect(timer, &QTimer::timeout,[player,&i]{
        QTextStream cout(stdout);
        cout<<QString::number(i,10)<<" ";
        if(i>=100){i=10;};
        player->setVolume(i);
        i++;
    });
    timer->start(100);
    player->play();
}
playlist = new QMediaPlaylist;
playlist->addMedia(QUrl("http://example.com/movie1.mp4"));
playlist->addMedia(QUrl("http://example.com/movie2.mp4"));
playlist->addMedia(QUrl("http://example.com/movie3.mp4"));
playlist->setCurrentIndex(1);

player = new QMediaPlayer;
player->setPlaylist(playlist);

videoWidget = new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->show();

player->play();
图像类
QCamera摄像头

enum

名称介绍
Position { UnspecifiedPosition, BackFace, FrontFace }摄像头位置,前置的,后置的…
CaptureMode { CaptureViewfinder, CaptureStillImage, CaptureVideo }捕获方式,取景器,视频,图片
LockStatus { Unlocked, Searching, Locked }相机正在捕获,对焦
State { UnloadedState, LoadedState, ActiveState }相机的状态
Status { ActiveStatus, StartingStatus, StoppingStatus, StandbyStatus, …, UnavailableStatus }

设置

函数描述
void setViewfinder()取景器

slots:

void    start()|启动
void    stop()|暂停

sinals:

void    captureModeChanged(QCamera::CaptureModes mode)
void    error(QCamera::Error value)
void    lockFailed()
void    lockStatusChanged(QCamera::LockStatus status, QCamera::LockChangeReason reason)
void    lockStatusChanged(QCamera::LockType lock, QCamera::LockStatus status, QCamera::LockChangeReason reason)
void    locked()
void    stateChanged(QCamera::State state)
void    statusChanged(QCamera::Status status)
QCameraInfo

返回camera的信息
可以判断前置,后置等摄像头的信息

QCamera myCamera;
QCameraInfo cameraInfo(myCamera);

if (cameraInfo.position() == QCamera::FrontFace)
    qDebug() << "The camera is on the front face of the hardware system.";
else if (cameraInfo.position() == QCamera::BackFace)
    qDebug() << "The camera is on the back face of the hardware system.";

qDebug() << "The camera sensor orientation is " << cameraInfo.orientation() << " degrees.";
usecamera::usecamera(QWidget *parent) :
    QWidget(parent)
{
    QCamera *pcamera=new QCamera;
    QCameraViewfinder *pview=new QCameraViewfinder;
    QHBoxLayout *layout=new QHBoxLayout(this);
    layout->addWidget(pview);
    pcamera->setViewfinder(pview);
    pcamera->start();

}

音频类

QAudio

此类提供了音频的属性值
枚举:

枚举
enumMode { AudioOutput, AudioInput }
enumRole { UnknownRole, MusicRole, VideoRole, VoiceCommunicationRole, …, GameRole }
enumState { ActiveState, SuspendedState, StoppedState, IdleState }
enumVolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale }
QAudioDecoder

此类允许解码音频

函数描述
qint64 position() const返回读取的位置
QAudioBuffer read() const读取

void setAudioFormat(const QAudioFormat &format)设置格式
void setSourceDevice(QIODevice *device)|设置设备
void setSourceFilename(const QString &fileName)|设置文件名

StereoFrame立体音频的封装器
QAudioDeviceInfo接收音频设备相关信息的类
函数描述
QString deviceName() const设备名
bool isFormatSupported(const QAudioFormat &settings) const是否支持音频格式
bool isNull() const是否空
QAudioFormat preferredFormat() const
QList supportedByteOrders() const
QList supportedChannelCounts() const
QStringList supportedCodecs() const
QList supportedSampleRates() const
QList supportedSampleSizes() const
QList supportedSampleTypes() const
QAudioFormat音频流参数的信息

赫兹等采样率,声道数量,样本大小,样本类型以及小端序和大端序等样本顺序之类的参数

函数描述
void setByteOrder(QAudioFormat::Endian byteOrder)顺序
void setChannelCount(int channels)声道数量
void setCodec(const QString &codec)编码器
void setSampleRate(int samplerate)
void setSampleSize(int sampleSize)大小
void setSampleType(QAudioFormat::SampleType sampleType)
QAudioInput
函数描述
int bufferSize() constbuffer的大小
int bytesReady() const
QAudioFormat format() const格式
int notifyInterval() const返回时间间隔
void reset()重置
void resume()摘要
void setBufferSize(int value)读取大小
void setNotifyInterval(int ms)间隔
void setVolume(qreal volume)
void start(QIODevice *device)
QIODevice * start()开始
QAudio::State state() const状态
void stop()停止
void suspend()挂起
qreal volume() const

signals:

Signals
void    notify()
void    stateChanged(QAudio::State state)

转载于:https://www.cnblogs.com/zylg/p/9831863.html

基于QT完成的集计算器、电子相册、相机、记事本、多媒体音乐播放器、2048小游戏为一体的多媒体系统,有系统语音提示等。(遇到问题可以评论,注意注册和登录密码等数据默认保存在C盘下的Database文件夹下,使用前需先在C盘新建一个Database命名的文件夹) 项目使用软件: QtCreate5.12 项目使用模块: 数据库 GUI 界面设计 多媒体 摄像头 截图 文字转语音 动画显示 界面包含内容 一、 开机动画界面设计(自定义图片显示,图片放置欢迎字样) 二、 登录注册设计 注: 1. 注册 数据库+MD5 加密 让用户自由注册 a. 点击注册跳转到账户注册界面、点击注册中返回可以返回登录界面 b. 注册界面数据设置为不为空,用户名和用户账号不能有重复 c. 确认注册进行数据的插入,字段:用户名、性别、账户、密码 注册成功:消息盒子提示成功,清空输入框的内容 注册失败:消息盒子提示用户存在 d. 取消注册清空所有输入框内容 e. 限定输入框的输入长度,在对应的输入框设置提示内容 f. 如何确定选择的是男还是女提示:if 判断 ui-> QRadioButton->isChecked() 2. 登录 通过查阅数据库进行对比登录 成功登录:消息盒子提示成功,播报用户名,跳转到主界面 失败登录:消息盒子提示失败,清空账户和密码 3. 输入框设计为椭圆状,设置输入提示字符 4. 按钮设置点击和触摸时颜色切换效果或者使用图片作为背景 5. 界面背景设置为图片,标题设置为中文,图标设置为图片 三、 主界面设计 1. 按钮设置点击和触摸时颜色切换效果或者使用图片作为背景 2. 界面背景设置为图片,标题设置为中文,图标设置为图片 3. 时间显示控件自由选择 4. 进入其他界面操作时进行语音提示 5. 所有子界面能够返回主界面,在返回主界面时进行消息盒子提示 6. 设置所有子界面的标题文字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值