qt linux phonon,如何使用 Qt Phonon(在网上找的,希望有人能用的着)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

videowidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto);

videowidget->setScaleMode(Phonon::VideoWidget::ScaleAndCrop);

当然也有提供函式让影片进入或退出全萤幕模式。以下为一个简短的程式码范例:

MediaObject *media = new MediaObject(parent);

VideoWidget *vwidget = new VideoWidget(parent);

Phonon::createPath(media, vwidget);

SeekSlider Class

SeekSlider类别提供一个可滑动的slider来设定多媒体串流播放的位置。所以它会连接到MediaObject,并控制串流目前的位置。

以下是一个使用的范例:

Phonon::MediaObject *moo = new Phonon::MediaObject;;

Phonon::AudioOutput *device = new Phonon::AudioOutput;

Phonon::createPath(moo, device);

moo->setCurrentSource(

QString("/home/gvatteka/Music/Lumme-Badloop.ogg"));

Phonon::SeekSlider *slider = new Phonon::SeekSlider;

slider->setMediaObject(moo);

slider->show();

moo->play();

VolumeSlider Class

VolumeSlider widget提供可以控制声音装置音量的widget。

用法其实与上面的SeekSlider类似,使用范例如下:

honon::AudioOutput *audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory);

Phonon::createPath(mediaObject, audioOutput);

Phonon::VolumeSlider *volumeSlider = new Phonon::VolumeSlider;

volumeSlider->setAudioOutput(audioOutput);

范例

再看过上面的一些类别介绍之后,其实就可以显一个简单的媒体播放器了,请看范例程式码:

#include

#include

#include

#include

#include

#include

#include

#include

int main(int argc, char *argv[]) {

QApplication app(argc, argv);

QWidget *widget = new QWidget;

widget->setWindowTitle("Media Player");

widget->resize(400,400);

Phonon::MediaObject *media = new Phonon::MediaObject;

media->setCurrentSource(Phonon::MediaSource("../Puppet.mpg"));

Phonon::VideoWidget *vwidget = new Phonon::VideoWidget(widget);

Phonon::createPath(media, vwidget);

vwidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto);

Phonon::AudioOutput *aOutput = new Phonon::AudioOutput(Phonon::VideoCategory);

Phonon::createPath(media, aOutput);

QLabel *label = new QLabel("Volume: ");

Phonon::VolumeSlider *volumeSlider = new Phonon::VolumeSlider;

volumeSlider->setAudioOutput(aOutput);

volumeSlider->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);

Phonon::SeekSlider *seekSlider = new Phonon::SeekSlider;

seekSlider->setMediaObject(media);

QHBoxLayout *hLayout = new QHBoxLayout;

hLayout->addWidget(label);

hLayout->addWidget(volumeSlider);

hLayout->addStretch();

QVBoxLayout *vLayout = new QVBoxLayout;

vLayout->addWidget(vwidget);

vLayout->addWidget(seekSlider);

vLayout->addLayout(hLayout);

widget->setLayout(vLayout);

widget->show();

media->play();

return app.exec();

}

上面的程式码就完成了一个简易的多媒体播放器,当然还有很多部分还需要改进,不过在此仅就Phonon的使用上做介绍。执行之后的画面如下所示:

由於VideoWidget已经嵌入到QWidget了,所以你调整视窗大小的话,影片播放的视窗也会跟著调整。

引用地址:http://www.xici.net/u16539771/d104902644.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值