本文整理汇总了C++中FileHandle::absFilePath方法的典型用法代码示例。如果您正苦于以下问题:C++ FileHandle::absFilePath方法的具体用法?C++ FileHandle::absFilePath怎么用?C++ FileHandle::absFilePath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileHandle
的用法示例。
在下文中一共展示了FileHandle::absFilePath方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: play
void PlayerManager::play(const FileHandle &file)
{
if(!m_setup)
setup();
if(!m_media[0] || !m_media[1] || !m_playlistInterface)
return;
stopCrossfade();
// The "currently playing" media object.
Phonon::MediaObject *mediaObject = m_media[m_curOutputPath];
if(file.isNull()) {
if(paused())
mediaObject->play();
else if(playing()) {
mediaObject->seek(0);
emit seeked(0);
}
else {
m_playlistInterface->playNext();
m_file = m_playlistInterface->currentFile();
if(!m_file.isNull())
{
mediaObject->setCurrentSource(KUrl::fromPath(m_file.absFilePath()));
mediaObject->play();
emit signalItemChanged(m_file);
}
}
}
else {
mediaObject->setCurrentSource(KUrl::fromPath(file.absFilePath()));
mediaObject->play();
if(m_file != file)
emit signalItemChanged(file);
m_file = file;
}
// Our state changed handler will perform the follow up actions necessary
// once we actually start playing.
}
示例2: idFromPlaylistItem
QVariantMap MediaPlayer2Player::Metadata() const
{
QVariantMap metaData;
// The track ID is annoying since it must result in a valid DBus object
// path, and the regex for that is, and I quote: [a-zA-Z0-9_]*, along with
// the normal / delimiters for paths.
PlaylistItem *item = Playlist::playingItem();
if (!item)
return metaData;
FileHandle playingFile = item->file();
QByteArray playingTrackFileId = idFromPlaylistItem(item);
metaData["mpris:trackid"] =
QVariant::fromValue<QDBusObjectPath>(
QDBusObjectPath(playingTrackFileId.constData()));
metaData["xesam:album"] = playingFile.tag()->album();
metaData["xesam:title"] = playingFile.tag()->title();
metaData["xesam:artist"] = QStringList(playingFile.tag()->artist());
metaData["xesam:genre"] = QStringList(playingFile.tag()->genre());
metaData["mpris:length"] = qint64(playingFile.tag()->seconds() * 1000000);
metaData["xesam:url"] = QString::fromLatin1(
KUrl::fromLocalFile(playingFile.absFilePath()).toEncoded());
if(playingFile.coverInfo()->hasCover()) {
QString fallbackFileName = KStandardDirs::locateLocal("tmp",
QString("juk-cover-%1.png").arg(item->trackId()));
QString path = fallbackFileName;
if(!QFile::exists(path)) {
path = playingFile.coverInfo()->localPathToCover(fallbackFileName);
}
metaData["mpris:artUrl"] = QString::fromLatin1(QUrl::fromLocalFile(
path).toEncoded());
}
return metaData;
}
示例3: crossfadeToFile
void PlayerManager::crossfadeToFile(const FileHandle &newFile)
{
int nextOutputPath = 1 - m_curOutputPath;
// Don't need this anymore
disconnect(m_media[m_curOutputPath], SIGNAL(finished()), this, 0);
connect(m_media[nextOutputPath], SIGNAL(finished()), SLOT(slotFinished()));
m_fader[nextOutputPath]->setVolume(0.0f);
emit signalItemChanged(newFile);
m_media[nextOutputPath]->setCurrentSource(QUrl::fromLocalFile(newFile.absFilePath()));
m_media[nextOutputPath]->play();
m_fader[m_curOutputPath]->setVolume(1.0f);
m_fader[m_curOutputPath]->fadeTo(0.0f, 2000);
m_fader[nextOutputPath]->fadeTo(1.0f, 2000);
m_curOutputPath = nextOutputPath;
}