本文整理汇总了C++中id3v2::FrameList::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ FrameList::isEmpty方法的具体用法?C++ FrameList::isEmpty怎么用?C++ FrameList::isEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类id3v2::FrameList
的用法示例。
在下文中一共展示了FrameList::isEmpty方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
string dirp, filepath;
dirent plikaudio;
cout << "podaj ścieżkę do biblioteki: " << flush;
getline( cin, dirp );
plikaudio=listujPliki(dirp);
filepath = dirp + "/" + plikaudio.d_name;
cout << "wczytano plik : "<<filepath << endl;
MPEG::File file(filepath.c_str());
if(file.ID3v2Tag())
{
ID3v2::FrameList l = file.ID3v2Tag()->frameListMap()["RVAD"];
if(l.isEmpty())
cout << "plik nie posiada tagu replaygain"<< endl;
}
file.save();
}
示例2:
QMPlay_Tag::QMPlay_Tag( const char *_fileName )
{
using namespace TagLib;
fileName = _fileName;
isNull = true;
canWriteID3 = false;
dontUse = false;
isFLAC = fileName.right( 5 ) == ".flac";
if ( !isFLAC )
{
QByteArray r4 = fileName.right( 4 );
if ( r4 == ".wav" )
{
dontUse = true;
return;
}
if ( r4 == ".mp3" )
canWriteID3 = true;
}
//General tags
{
Load_FileRef
if ( !f->isNull() && f->tag() )
{
Tag *tag = f->tag();
title = tag->title();
artist = tag->artist();
album = tag->album();
comment = tag->comment();
genre = tag->genre();
year = tag->year();
track = tag->track();
isNull = false;
}
delete f;
}
//ID3v2 picture
if ( canWriteID3 )
{
Load_MPEG_File
ID3v2::Tag *id3v2 = f->ID3v2Tag();
if ( id3v2 && !id3v2->isEmpty() )
{
ID3v2::FrameList pict = id3v2->frameList( "APIC" );
if ( !pict.isEmpty() )
{
picture = ID3v2::AttachedPictureFrame( pict.front()->render() ).picture();
isNull = false;
}
}
delete f;
}
//FLAC picture
if ( isFLAC )
{
Load_FLAC_File
if ( f->pictureList().size() )
{
FLAC::Picture *p = f->pictureList().front();
if ( p )
{
picture = p->data();
isNull = false;
}
}
delete f;
}
}
示例3: strncpy
/**
* Read meta information from id3v2 tags
* @param tag: the id3v2 tag
* @param p_demux; the demux object
* @param p_demux_meta: the demuxer meta
* @param p_meta: the meta
*/
static void ReadMetaFromId3v2( ID3v2::Tag* tag, demux_t* p_demux, demux_meta_t* p_demux_meta, vlc_meta_t* p_meta )
{
// Get the unique file identifier
ID3v2::FrameList list = tag->frameListMap()["UFID"];
ID3v2::FrameList::Iterator iter;
for( iter = list.begin(); iter != list.end(); iter++ )
{
ID3v2::UniqueFileIdentifierFrame* p_ufid =
dynamic_cast<ID3v2::UniqueFileIdentifierFrame*>(*iter);
const char *owner = p_ufid->owner().toCString();
if (!strcmp( owner, "http://musicbrainz.org" ))
{
/* ID3v2 UFID contains up to 64 bytes binary data
* but in our case it will be a '\0'
* terminated string */
char psz_ufid[64];
int max_size = __MIN( p_ufid->identifier().size(), 63);
strncpy( psz_ufid, p_ufid->identifier().data(), max_size );
psz_ufid[max_size] = '\0';
vlc_meta_SetTrackID( p_meta, psz_ufid );
}
}
// Get the use text
list = tag->frameListMap()["TXXX"];
for( iter = list.begin(); iter != list.end(); iter++ )
{
ID3v2::UserTextIdentificationFrame* p_txxx =
dynamic_cast<ID3v2::UserTextIdentificationFrame*>(*iter);
vlc_meta_AddExtra( p_meta, p_txxx->description().toCString( true ),
p_txxx->fieldList().toString().toCString( true ) );
}
// Get some more informations
#define SET( tagName, metaName ) \
list = tag->frameListMap()[tagName]; \
if( !list.isEmpty() ) \
vlc_meta_Set##metaName( p_meta, \
(*list.begin())->toString().toCString( true ) );
SET( "TCOP", Copyright );
SET( "TENC", EncodedBy );
SET( "TLAN", Language );
SET( "TPUB", Publisher );
#undef SET
/* Preferred type of image
* The 21 types are defined in id3v2 standard:
* http://www.id3.org/id3v2.4.0-frames */
static const int pi_cover_score[] = {
0, /* Other */
5, /* 32x32 PNG image that should be used as the file icon */
4, /* File icon of a different size or format. */
20, /* Front cover image of the album. */
19, /* Back cover image of the album. */
13, /* Inside leaflet page of the album. */
18, /* Image from the album itself. */
17, /* Picture of the lead artist or soloist. */
16, /* Picture of the artist or performer. */
14, /* Picture of the conductor. */
15, /* Picture of the band or orchestra. */
9, /* Picture of the composer. */
8, /* Picture of the lyricist or text writer. */
7, /* Picture of the recording location or studio. */
10, /* Picture of the artists during recording. */
11, /* Picture of the artists during performance. */
6, /* Picture from a movie or video related to the track. */
1, /* Picture of a large, coloured fish. */
12, /* Illustration related to the track. */
3, /* Logo of the band or performer. */
2 /* Logo of the publisher (record company). */
};
int i_score = -1;
// Try now to get embedded art
list = tag->frameListMap()[ "APIC" ];
if( list.isEmpty() )
return;
TAB_INIT( p_demux_meta->i_attachments, p_demux_meta->attachments );
for( iter = list.begin(); iter != list.end(); iter++ )
{
ID3v2::AttachedPictureFrame* p_apic =
dynamic_cast<ID3v2::AttachedPictureFrame*>(*iter);
input_attachment_t *p_attachment;
const char *psz_mime;
char *psz_name, *psz_description;
// Get the mime and description of the image.
// If the description is empty, take the type as a description
psz_mime = p_apic->mimeType().toCString( true );
//.........这里部分代码省略.........