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();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)返回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(); }此类提供了音频的属性值 枚举:
枚举值enumMode { AudioOutput, AudioInput }enumRole { UnknownRole, MusicRole, VideoRole, VoiceCommunicationRole, …, GameRole }enumState { ActiveState, SuspendedState, StoppedState, IdleState }enumVolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale }此类允许解码音频
函数描述qint64 position() const返回读取的位置QAudioBuffer read() const读取void setAudioFormat(const QAudioFormat &format)设置格式 void setSourceDevice(QIODevice *device)|设置设备 void setSourceFilename(const QString &fileName)|设置文件名
赫兹等采样率,声道数量,样本大小,样本类型以及小端序和大端序等样本顺序之类的参数
函数描述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)signals:
Signals void notify() void stateChanged(QAudio::State state)