本文整理汇总了C++中CMusicInfoTag::GetURL方法的典型用法代码示例。如果您正苦于以下问题:C++ CMusicInfoTag::GetURL方法的具体用法?C++ CMusicInfoTag::GetURL怎么用?C++ CMusicInfoTag::GetURL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMusicInfoTag
的用法示例。
在下文中一共展示了CMusicInfoTag::GetURL方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
CSong::CSong(CMusicInfoTag& tag)
{
SYSTEMTIME stTime;
tag.GetReleaseDate(stTime);
strTitle = tag.GetTitle();
genre = tag.GetGenre();
strFileName = tag.GetURL();
artist = tag.GetArtist();
strAlbum = tag.GetAlbum();
albumArtist = tag.GetAlbumArtist();
strMusicBrainzTrackID = tag.GetMusicBrainzTrackID();
strMusicBrainzArtistID = tag.GetMusicBrainzArtistID();
strMusicBrainzAlbumID = tag.GetMusicBrainzAlbumID();
strMusicBrainzAlbumArtistID = tag.GetMusicBrainzAlbumArtistID();
strMusicBrainzTRMID = tag.GetMusicBrainzTRMID();
strComment = tag.GetComment();
rating = tag.GetRating();
iYear = stTime.wYear;
iTrack = tag.GetTrackAndDiskNumber();
iDuration = tag.GetDuration();
bCompilation = tag.GetCompilation();
embeddedArt = tag.GetCoverArtInfo();
strThumb = "";
iStartOffset = 0;
iEndOffset = 0;
idSong = -1;
iTimesPlayed = 0;
iKaraokeNumber = 0;
iKaraokeDelay = 0; //! Karaoke song lyrics-music delay in 1/10 seconds.
iAlbumId = -1;
}
示例2:
CSong::CSong(CMusicInfoTag& tag)
{
SYSTEMTIME stTime;
tag.GetReleaseDate(stTime);
strTitle = tag.GetTitle();
strGenre = tag.GetGenre();
strFileName = tag.GetURL();
strArtist = tag.GetArtist();
strAlbum = tag.GetAlbum();
strAlbumArtist = tag.GetAlbumArtist();
strComment = tag.GetComment();
strLabel = tag.GetLabel(); // Laureon: Added getLabel
strISRC = tag.GetISRC(); // Laureon: Added getISRC
iVisible = 1; // Laureon: Added: Song Visibility
rating = tag.GetRating();
iYear = stTime.wYear;
iTrack = tag.GetTrackAndDiskNumber();
iDuration = tag.GetDuration();
strThumb = "";
iStartOffset = 0;
iEndOffset = 0;
idSong = -1;
iTimesPlayed = 0;
iKaraokeNumber = 0;
iKaraokeDelay = 0; //! Karaoke song lyrics-music delay in 1/10 seconds.
iArtistId = -1;
iAlbumId = -1;
}
示例3: ParseAtom
bool CMusicInfoTagLoaderMP4::Load(const CStdString& strFileName, CMusicInfoTag& tag)
{
try
{
// Initially we say that we've not loaded any tag information
tag.SetLoaded(false);
// Attempt to open the file..
if ( !m_file.Open( strFileName ) )
{
CLog::Log(LOGDEBUG, "Tag loader mp4: failed to open file %s", strFileName.c_str() );
return false;
}
// We've opened it, so associate the tag with the filename.
tag.SetURL(strFileName);
// Now go parse our atom data
m_thumbSize = false;
m_thumbData = NULL;
m_isCompilation = false;
ParseAtom( 0, m_file.GetLength(), tag );
if (m_thumbData)
{ // cache the thumb
// if we don't have an album tag, cache with the full file path so that
// other non-tagged files don't get this album image
CStdString strCoverArt;
if (!tag.GetAlbum().IsEmpty() && (!tag.GetAlbumArtist().IsEmpty() || !tag.GetArtist().IsEmpty()))
strCoverArt = CThumbnailCache::GetAlbumThumb(&tag);
else
strCoverArt = CThumbnailCache::GetMusicThumb(tag.GetURL());
if (!CUtil::ThumbExists(strCoverArt))
{
if (CPicture::CreateThumbnailFromMemory( m_thumbData, m_thumbSize, "", strCoverArt ) )
{
CUtil::ThumbCacheAdd( strCoverArt, true );
}
else
{
CLog::Log(LOGDEBUG, "%s unable to cache thumb as %s", __FUNCTION__, strCoverArt.c_str());
CUtil::ThumbCacheAdd( strCoverArt, false );
}
}
delete[] m_thumbData;
}
if (m_isCompilation)
{ // iTunes compilation flag is set - this could be a various artists file
if (tag.GetAlbumArtist().IsEmpty())
tag.SetAlbumArtist(g_localizeStrings.Get(340)); // Various Artists
}
// Close the file..
m_file.Close();
// Return to caller
return true;
}
catch (...)
{
CLog::Log(LOGERROR, "Tag loader mp4: exception in file %s", strFileName.c_str());
}
// Something must have gone wrong for us to get here, so let's report our failure to the boss..
tag.SetLoaded(false);
return false;
}
示例4: SetTagValueBinary
void CMusicInfoTagLoaderWMA::SetTagValueBinary(const CStdString& strFrameName, const unsigned char* pValue, CMusicInfoTag& tag)
{
if (strFrameName == "WM/Picture")
{
WM_PICTURE picture;
int iPicOffset = 0;
// Picture types: http://msdn.microsoft.com/library/en-us/wmform/htm/wm_picture.asp
picture.bPictureType = (BYTE)pValue[iPicOffset];
iPicOffset += 1;
picture.dwDataLen = (DWORD)pValue[iPicOffset] + (pValue[iPicOffset + 1] * 0x100) + (pValue[iPicOffset + 2] * 0x10000);
iPicOffset += 4;
CStdStringW wString;
CStdString16 utf16String = (uint16_t*)(pValue+iPicOffset);
g_charsetConverter.utf16LEtoW(utf16String, wString);
g_charsetConverter.wToUTF8(wString, picture.pwszMIMEType);
iPicOffset += (wString.length() * 2);
iPicOffset += 2;
utf16String = (uint16_t*)(pValue+iPicOffset);
g_charsetConverter.utf16LEtoW(utf16String, picture.pwszDescription);
iPicOffset += (picture.pwszDescription.length() * 2);
iPicOffset += 2;
picture.pbData = (BYTE *)(pValue + iPicOffset);
// many wma's don't have the bPictureType specified. For now, just take
// Cover Front (3) or Other (0) as the cover.
if (picture.bPictureType == 3 || picture.bPictureType == 0) // Cover Front
{
CStdString strExtension(picture.pwszMIMEType);
// if we don't have an album tag, cache with the full file path so that
// other non-tagged files don't get this album image
CStdString strCoverArt;
if (!tag.GetAlbum().IsEmpty() && (!tag.GetAlbumArtist().IsEmpty() || !tag.GetArtist().IsEmpty()))
strCoverArt = CUtil::GetCachedAlbumThumb(tag.GetAlbum(), tag.GetAlbumArtist().IsEmpty() ? tag.GetArtist() : tag.GetAlbumArtist());
else
strCoverArt = CUtil::GetCachedMusicThumb(tag.GetURL());
if (!CUtil::ThumbExists(strCoverArt))
{
int nPos = strExtension.Find('/');
if (nPos > -1)
strExtension.Delete(0, nPos + 1);
if (picture.pbData != NULL && picture.dwDataLen > 0)
{
if (CPicture::CreateThumbnailFromMemory(picture.pbData, picture.dwDataLen, strExtension, strCoverArt))
{
CUtil::ThumbCacheAdd(strCoverArt, true);
}
else
{
CUtil::ThumbCacheAdd(strCoverArt, false);
CLog::Log(LOGERROR, "Tag loader wma: "
"Unable to create album art for %s "
"(extension=%s, size=%u)",
tag.GetURL().c_str(), strExtension.c_str(),
picture.dwDataLen);
}
}
}
}
}
}