本文整理汇总了C++中phonon::MediaObject类的典型用法代码示例。如果您正苦于以下问题:C++ MediaObject类的具体用法?C++ MediaObject怎么用?C++ MediaObject使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MediaObject类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: GetMetadata
QVariantMap TrackListDBusHandler::GetMetadata(int position)
{
QVariantMap ret;
if (position < 0 || position > m_tracks.size()-1) {
return ret;
}
//FIXME: ugly and slow
Phonon::MediaObject mediaObject;
mediaObject.setCurrentSource(m_tracks[position]);
QMultiMap<QString, QString> stringMap = mediaObject.metaData();
QMultiMap<QString, QString>::const_iterator i = stringMap.constBegin();
while (i != stringMap.constEnd()) {
bool number = false;
int value = i.value().toInt(&number);
//tracknumber always string, according to MPRIS spec
if (number && (i.key().toLower() != "tracknumber")) {
ret[i.key().toLower()] = value;
} else {
ret[i.key().toLower()] = QVariant(i.value());
}
++i;
}
ret["time"] = mediaObject.totalTime()/1000;
ret["location"] = mediaObject.currentSource().url().toString();
return ret;
}
开发者ID:KDE,项目名称:kdeplasma-addons,代码行数:32,代码来源:tracklistdbushandler.cpp
示例2: setDir
void APlayer::setDir(QString path)
{
old = 0;
m_media->clear();
w_folderContents->clear();
while (QTreeWidgetItem *item = w_folderContents->takeTopLevelItem(0))
{
delete item;
}
path += "/";
QDir dir(path);
QStringList files = dir.entryList(QStringList() << "*.mp3" << "*.ogg" << "*.wav" << "*.wma",
QDir::Files | QDir::NoDotAndDotDot,
QDir::Name);
QString f = path + "%2";
Phonon::MediaObject media;
foreach (QString file, files)
{
QString filepath = f.arg(file);
media.setCurrentSource(filepath);
QMap <QString,QString> metaData = media.metaData();
QStringList metaList;
metaList << metaData.value("ARTIST")
<< metaData.value("TITLE")
<< metaData.value("ALBUM")
<< metaData.value("DATE");
qDebug() << metaList;
if (metaList[0].isEmpty())
metaList[0] = file;
QTreeWidgetItem *item = new QTreeWidgetItem(metaList);
item->setData(0, Qt::UserRole, filepath);
w_folderContents->addTopLevelItem(item);
}
开发者ID:chemikadze,项目名称:oldschool,代码行数:33,代码来源:aplayer.cpp
示例3: main
int main(int argv, char **args)
{
QApplication app(argv, args);
app.setApplicationName("Audio effect tester");
Phonon::MediaObject *mediaObject = new Phonon::MediaObject;
mediaObject->setCurrentSource(QString("/home/gvatteka/Music/Lumme-Badloop.ogg"));
Phonon::AudioOutput *audioOutput =
new Phonon::AudioOutput(Phonon::MusicCategory);
//! [0]
QList<Phonon::EffectDescription> effectDescriptions =
Phonon::BackendCapabilities::availableAudioEffects();
Phonon::EffectDescription effectDescription = effectDescriptions.at(4);
Phonon::Path path = Phonon::createPath(mediaObject, audioOutput);
//! [1]
Phonon::Effect *effect = new Phonon::Effect(effectDescription);
path.insertEffect(effect);
//! [0]
Phonon::EffectWidget *effectWidget = new Phonon::EffectWidget(effect);
effectWidget->show();
//! [1]
mediaObject->play();
effectWidget->setWindowTitle("Effect Name: " + effectDescription.name());
app.exec();
}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.vendor,代码行数:33,代码来源:audioeffects.cpp
示例4: updateTicker
void UBGraphicsVideoItemDelegate::updateTicker(qint64 time)
{
Phonon::MediaObject* media = delegated()->mediaObject();
mVideoControl->totalTimeChanged(media->totalTime());
mVideoControl->updateTicker(time);
}
开发者ID:coachal,项目名称:Sankore-3.1,代码行数:7,代码来源:UBGraphicsVideoItemDelegate.cpp
示例5: updatePlayPauseState
void UBGraphicsVideoItemDelegate::updatePlayPauseState()
{
Phonon::MediaObject* media = delegated()->mediaObject();
if (media->state() == Phonon::PlayingState)
mPlayPauseButton->setFileName(":/images/pause.svg");
else
mPlayPauseButton->setFileName(":/images/play.svg");
}
开发者ID:coachal,项目名称:Sankore-3.1,代码行数:9,代码来源:UBGraphicsVideoItemDelegate.cpp
示例6: seekBack
void PlayerManager::seekBack()
{
Phonon::MediaObject *mediaObject = m_media[m_curOutputPath];
const qint64 total = mediaObject->totalTime();
const qint64 newtime = mediaObject->currentTime() - total / 100;
const qint64 seekTo = qMax(qint64(0), newtime);
stopCrossfade();
mediaObject->seek(seekTo);
emit seeked(seekTo);
}
开发者ID:KDE,项目名称:juk,代码行数:11,代码来源:playermanager.cpp
示例7: QMainWindow
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
qDebug() << Phonon::BackendCapabilities::availableMimeTypes();
Phonon::MediaObject *music = Phonon::createPlayer(Phonon::MusicCategory,
Phonon::MediaSource("../myPhonon1/mysong.mp3"));
music->setParent(this);
music->play();
}
开发者ID:Rookiee,项目名称:Qt_Codes,代码行数:11,代码来源:mainwindow.cpp
示例8: stop
void VideoWidget::stop()
{
Phonon::MediaObject* mo = player->media0bject();
if (mo->state() == Phonon::PausedState)
{
mo->seek(0);
mo->stop();
}
else
{
mo->stop();
}
}
开发者ID:biwin,项目名称:ktorrent,代码行数:13,代码来源:videowidget.cpp
示例9: playSound
void SoundEditWidget::playSound()
{
if (!mHasSound) {
return;
}
Phonon::MediaObject *player = Phonon::createPlayer(Phonon::NotificationCategory);
QBuffer *soundData = new QBuffer(player);
soundData->setData(mSound);
player->setCurrentSource(soundData);
player->setParent(this);
connect(player, &Phonon::MediaObject::finished, player, &Phonon::MediaObject::deleteLater);
player->play();
}
开发者ID:quazgar,项目名称:kdepimlibs,代码行数:13,代码来源:soundeditwidget.cpp
示例10: playSound
void SoundEditWidget::playSound()
{
if ( !mHasSound ) {
return;
}
#ifndef Q_OS_WINCE
Phonon::MediaObject* player = Phonon::createPlayer( Phonon::NotificationCategory );
QBuffer* soundData = new QBuffer( player );
soundData->setData( mSound );
player->setCurrentSource( soundData );
player->setParent( this );
connect( player, SIGNAL(finished()), player, SLOT(deleteLater()) );
player->play();
#endif
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:16,代码来源:soundeditwidget.cpp
示例11: findSubtitles
void FindSubtitles::findSubtitles() {
Phonon::MediaObject * mediaObject = quarkPlayer().currentMediaObject();
if (mediaObject) {
Phonon::MediaSource source = mediaObject->currentSource();
QString fileName(source.fileName());
static FindSubtitlesWindow * findSubtitlesWindow = NULL;
if (!findSubtitlesWindow) {
findSubtitlesWindow = new FindSubtitlesWindow(MainWindowFactory::mainWindow());
connect(findSubtitlesWindow, SIGNAL(subtitleDownloaded(const QString &)),
SLOT(loadSubtitle(const QString &)));
}
findSubtitlesWindow->setMovieFileName(fileName);
findSubtitlesWindow->setLanguage(Config::instance().language());
findSubtitlesWindow->show();
}
}
开发者ID:vilkov,项目名称:phonon-vlc-mplayer,代码行数:17,代码来源:FindSubtitles.cpp
示例12: playSoundStr
void AudioPlayer::playSoundStr(const QString &file) {
if (aboutToTerminate)
return;
for (std::vector<Phonon::MediaObject *>::iterator iter = soundVec.begin();
iter != soundVec.end(); ++iter) {
Phonon::MediaObject * prevSoundEffect = (*iter);
switch (prevSoundEffect->state()) {
case Phonon::StoppedState:
case Phonon::PausedState:
prevSoundEffect->clear();
prevSoundEffect->setCurrentSource(file);
prevSoundEffect->play();
return;
default:
break;
}
}
Phonon::MediaObject * soundEffect = Phonon::createPlayer(
Phonon::MusicCategory, file);
soundEffect->play();
soundVec.push_back(soundEffect);
printDebug(
"<font color=red><b>Notice: </b></font>AudioPlayer::playSoundStr: creating new MediaObject, current MediaObject count = "
+ QString::number(static_cast<unsigned>(soundVec.size())));
return;
}
开发者ID:ronghanghu,项目名称:SanguoshaEX,代码行数:28,代码来源:sgsui_AudioPlayer.cpp
示例13: getVideoInformation
void Video::getVideoInformation()
{
QFileInfo fileInfo(videoPath);
videoName = fileInfo.fileName();
Phonon::MediaObject mediaObject;
mediaObject.setCurrentSource(videoPath);
// TODO: This doesn't work. Media needs to be loaded
qint64 totalMs = mediaObject.totalTime();
qint64 totSeconds = totalMs / 1000;
qint64 seconds = totSeconds % 60;
qint64 totMinutes = totSeconds / 60;
qint64 minutes = totMinutes % 60;
qint64 hours = totMinutes / 60;
videoTotalTime = QTime(hours, minutes, seconds);
qDebug() << videoTotalTime;
}
开发者ID:levil,项目名称:QuantumPlayer,代码行数:18,代码来源:video.cpp
示例14: image
game::MainWindow::MainWindow(QWidget *parent) :
QWidget(parent),
m_width(1000),
m_height(800),
m_status(false),
m_frame_count(0),
m_i(0),
m_j(0),
m_next_cell(0),
m_clock_frame_count(0),
m_anim_end(false),
m_clock_start(false),
m_clock_x_cord(0),
m_animation_state(false)
{
QImage image(".\\res\\back_3.png");
m_game_width = image.width();
m_game_height = image.height();
setFixedSize(m_width, m_height);
m_click_coords.first = 0;
m_click_coords.second = 0;
setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint);
m_area_x0_coordinate = (this->width() - image.width())/2;
m_area_y0_coordinate = (this->height() - image.height())/2;
m_r = new game::graphic_engine::game_process(m_area_x0_coordinate, m_area_y0_coordinate, image.width()/*+30*/, image.height()/*+30*/, 57);
Phonon::MediaObject* mediaobject = new Phonon::MediaObject(this);
Phonon::AudioOutput *audio = new Phonon::AudioOutput(this);
assert(mediaobject != 0);
QString filename(".//res//music//Casino Ambiance Music.wav");
mediaobject->setCurrentSource(filename);
Phonon::createPath(mediaobject,audio);
mediaobject->play();
QPixmap pixmap(".\\res\\background.png");
QPalette palette;
palette.setBrush(/*this->backgroundRole()*/QPalette::Background, QBrush(pixmap));
this->setPalette(palette);
m_timer = new QTimer(this);
m_timer_clock = new QTimer(this);
connect(m_timer, SIGNAL(timeout()), this, SLOT(animate()));
connect(m_timer_clock, SIGNAL(timeout()), this, SLOT(animate_clock()));
m_timer->start(5);
m_timer_clock->start(60);
}
开发者ID:VardanGrigoryan,项目名称:Puzzle_Game,代码行数:43,代码来源:mainwindow.cpp
示例15: main
int main(int argv, char **args)
{
QApplication app(argv, args);
//![0]
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();
//![0]
app.exec();
}
开发者ID:RobertoMalatesta,项目名称:emscripten-qt,代码行数:19,代码来源:seekslider.cpp
示例16: isPlaying
bool isPlaying() const
{
switch (mMediaObject->state()) {
case Phonon::StoppedState:
case Phonon::PausedState:
return false;
default:
return true;
}
}
开发者ID:theunbelievablerepo,项目名称:gwenview,代码行数:10,代码来源:videoviewadapter.cpp
示例17: playClicked
void TrackAudioWidget::playClicked(int source_id)
{
std::cerr<<"TrackAudioWidget::playClicked with source_id : "<<source_id<<std::endl;
#ifdef _HAVE_PHONON_
Phonon::MediaObject *music =
Phonon::createPlayer(Phonon::MusicCategory,
Phonon::MediaSource(QString("log/source_") + QString::number(source_id) + QString(".wav")));
music->play();
#else
QProcess *process = new QProcess(this);
QString prog;
QStringList args;
#ifdef WIN32
prog = QString("sndrec32.exe");
args += QString("/play");
args += QString("/close");
args += QString("log/source_")+QString::number(source_id) + QString(".wav");
#endif
#ifdef linux
prog = QString("mplayer");
args += QString("log/source_")+QString::number(source_id) + QString(".wav");
#endif
#ifdef __APPLE_CC__
prog = QString("open");
args += QString("log/source_")+QString::number(source_id) + QString(".wav");
#endif
if (process)
{
process->start(prog,args);
}
#endif
}
开发者ID:ChengLunHu,项目名称:manyears,代码行数:42,代码来源:TrackAudioWidget.cpp
示例18: playSound
/*#
void LayerSound::playSound(int frame) {
for(int i=0; i < sound.size(); i++) {
if (frame == framesPosition.at(i)) {
if (sound.at(i) != NULL && visible) sound[i]->play();
}
}
}
#*/
void LayerSound::playSound(int frame,int fps)
{
//QSettings settings("Pencil","Pencil");
//int fps = settings.value("fps").toInt();
for (int i = 0; i < sound.size(); ++i)
{
Phonon::MediaObject* media = sound.at(i);
if (media != NULL && visible)
{
int position = framesPosition.at(i);
if (frame < position)
{
media->stop();
}
else
{
Phonon::AudioOutput* audioOutput = NULL;
if (outputDevices.size() <= i)
{
audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this);
outputDevices.push_back(audioOutput);
}
else
{
audioOutput = outputDevices.at(i);
}
int offsetInMs = floor((frame - position) * float(1000) / fps);
if (media->state() == Phonon::PlayingState)
{
if (fabs((float)media->currentTime() - offsetInMs) > 500.0f)
media->seek(offsetInMs);
}
else
{
if (frame > position)
{
media->pause();
media->seek(offsetInMs);
}
if (offsetInMs < soundSize[i])
{
Phonon::createPath(media, outputDevices.at(i));
media->play();
}
}
}
}
}
}
开发者ID:shoshon,项目名称:pencil,代码行数:60,代码来源:layersound.cpp
示例19: main
int main(int argv, char **args)
{
QApplication app(argv, args);
app.setApplicationName("Volume slider tester");
Phonon::MediaObject *mediaObject = new Phonon::MediaObject;
mediaObject->setCurrentSource(QString("/home/gvatteka/Music/Lumme-Badloop.ogg"));
//! [0]
Phonon::AudioOutput *audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory);
Phonon::createPath(mediaObject, audioOutput);
Phonon::VolumeSlider *volumeSlider = new Phonon::VolumeSlider;
volumeSlider->setAudioOutput(audioOutput);
//! [0]
mediaObject->play();
volumeSlider->show();
return app.exec();
}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.vendor,代码行数:22,代码来源:volumeslider.cpp
示例20: main
int main(int argc, char** argv)
{
QCoreApplication app(argc, argv);
app.setApplicationName("Flush");
QStringList args=app.arguments();
args.removeFirst();
QString appl=args.at(0);
args.removeFirst();
QProcess p;
p.setProcessChannelMode(QProcess::ForwardedChannels);
p.start(appl,args);
p.waitForFinished(-1);
Phonon::MediaObject *mediaObject = new Phonon::MediaObject();
Phonon::AudioOutput *audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory);
Phonon::createPath(mediaObject, audioOutput);
if(p.exitCode()==0)
mediaObject->setCurrentSource(Phonon::MediaSource(":/flush.ogg"));
else
mediaObject->setCurrentSource(Phonon::MediaSource(":/sadtrombone.ogg"));
mediaObject->play();
QObject::connect(mediaObject,SIGNAL(finished()),&app,SLOT(quit()));
return app.exec();
}
开发者ID:admiral0,项目名称:flush,代码行数:23,代码来源:main.cpp
注:本文中的phonon::MediaObject类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论