当前位置: 首页>>代码示例>>C++>>正文


C++ mp4::File类代码示例

本文整理汇总了C++中mp4::File的典型用法代码示例。如果您正苦于以下问题:C++ File类的具体用法?C++ File怎么用?C++ File使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了File类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: testCovrRead

 void testCovrRead()
 {
   MP4::File *f = new MP4::File("data/has-tags.m4a");
   CPPUNIT_ASSERT(f->tag()->itemListMap().contains("covr"));
   MP4::CoverArtList l = f->tag()->itemListMap()["covr"].toCoverArtList();
   CPPUNIT_ASSERT_EQUAL(TagLib::uint(2), l.size());
   CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::PNG, l[0].format());
   CPPUNIT_ASSERT_EQUAL(TagLib::uint(79), l[0].data().size());
   CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::JPEG, l[1].format());
   CPPUNIT_ASSERT_EQUAL(TagLib::uint(287), l[1].data().size());
 }
开发者ID:ABuus,项目名称:partyplayer,代码行数:11,代码来源:test_mp4.cpp

示例2:

 void testCovrRead2()
 {
   MP4::File *f = new MP4::File(TEST_FILE_PATH_C("covr-junk.m4a"));
   CPPUNIT_ASSERT(f->tag()->contains("covr"));
   MP4::CoverArtList l = f->tag()->item("covr").toCoverArtList();
   CPPUNIT_ASSERT_EQUAL(TagLib::uint(2), l.size());
   CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::PNG, l[0].format());
   CPPUNIT_ASSERT_EQUAL(TagLib::uint(79), l[0].data().size());
   CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::JPEG, l[1].format());
   CPPUNIT_ASSERT_EQUAL(TagLib::uint(287), l[1].data().size());
   delete f;
 }
开发者ID:gogglesmm,项目名称:taglib,代码行数:12,代码来源:test_mp4.cpp

示例3: testCovrWrite

  void testCovrWrite()
  {
    ScopedFileCopy copy("has-tags", ".m4a");
    string filename = copy.fileName();

    MP4::File *f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT(f->tag()->contains("covr"));
    MP4::CoverArtList l = f->tag()->item("covr").toCoverArtList();
    l.append(MP4::CoverArt(MP4::CoverArt::PNG, "foo"));
    f->tag()->setItem("covr", l);
    f->save();
    delete f;

    f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT(f->tag()->contains("covr"));
    l = f->tag()->item("covr").toCoverArtList();
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(3), l.size());
    CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::PNG, l[0].format());
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(79), l[0].data().size());
    CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::JPEG, l[1].format());
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(287), l[1].data().size());
    CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::PNG, l[2].format());
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(3), l[2].data().size());
    delete f;
  }
开发者ID:gogglesmm,项目名称:taglib,代码行数:25,代码来源:test_mp4.cpp

示例4: testCovrWrite

  void testCovrWrite()
  {
    string filename = copyFile("has-tags", ".m4a");

    MP4::File *f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT(f->tag()->itemListMap().contains("covr"));
    MP4::CoverArtList l = f->tag()->itemListMap()["covr"].toCoverArtList();
    l.append(MP4::CoverArt(MP4::CoverArt::PNG, "foo"));
    f->tag()->itemListMap()["covr"] = l;
    f->save();
    delete f;

    f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT(f->tag()->itemListMap().contains("covr"));
    l = f->tag()->itemListMap()["covr"].toCoverArtList();
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(3), l.size());
    CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::PNG, l[0].format());
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(79), l[0].data().size());
    CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::JPEG, l[1].format());
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(287), l[1].data().size());
    CPPUNIT_ASSERT_EQUAL(MP4::CoverArt::PNG, l[2].format());
    CPPUNIT_ASSERT_EQUAL(TagLib::uint(3), l[2].data().size());
    delete f;

    deleteFile(filename);
  }
开发者ID:ABuus,项目名称:partyplayer,代码行数:26,代码来源:test_mp4.cpp

示例5: copy

  void test64BitAtom()
  {
    ScopedFileCopy copy("64bit", ".mp4");
    string filename = copy.fileName();

    MP4::File *f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT_EQUAL(true, f->tag()->itemListMap()["cpil"].toBool());

    MP4::Atoms *atoms = new MP4::Atoms(f);
    MP4::Atom *moov = atoms->atoms[0];
    CPPUNIT_ASSERT_EQUAL(long(77), moov->length);

    f->tag()->itemListMap()["pgap"] = true;
    f->save();

    f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT_EQUAL(true, f->tag()->itemListMap()["cpil"].toBool());
    CPPUNIT_ASSERT_EQUAL(true, f->tag()->itemListMap()["pgap"].toBool());

    atoms = new MP4::Atoms(f);
    moov = atoms->atoms[0];
    // original size + 'pgap' size + padding
    CPPUNIT_ASSERT_EQUAL(long(77 + 25 + 974), moov->length);
  }
开发者ID:sattvik,项目名称:taglib,代码行数:24,代码来源:test_mp4.cpp

示例6: testSaveExisingWhenIlstIsLast

  void testSaveExisingWhenIlstIsLast()
  {
    ScopedFileCopy copy("ilst-is-last", ".m4a");
    string filename = copy.fileName();

    MP4::File *f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT_EQUAL(String("82,164"), f->tag()->itemListMap()["----:com.apple.iTunes:replaygain_track_minmax"].toStringList()[0]);
    CPPUNIT_ASSERT_EQUAL(String("Pearl Jam"), f->tag()->artist());
    f->tag()->setComment("foo");
    f->save();
    delete f;

    f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT_EQUAL(String("82,164"), f->tag()->itemListMap()["----:com.apple.iTunes:replaygain_track_minmax"].toStringList()[0]);
    CPPUNIT_ASSERT_EQUAL(String("Pearl Jam"), f->tag()->artist());
    CPPUNIT_ASSERT_EQUAL(String("foo"), f->tag()->comment());
  }
开发者ID:sattvik,项目名称:taglib,代码行数:17,代码来源:test_mp4.cpp

示例7: testFreeForm

  void testFreeForm()
  {
    ScopedFileCopy copy("has-tags", ".m4a");
    string filename = copy.fileName();

    MP4::File *f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT(f->tag()->itemListMap().contains("----:com.apple.iTunes:iTunNORM"));
    f->tag()->itemListMap()["----:org.kde.TagLib:Foo"] = StringList("Bar");
    f->save();
    delete f;

    f = new MP4::File(filename.c_str());
    CPPUNIT_ASSERT(f->tag()->itemListMap().contains("----:org.kde.TagLib:Foo"));
    CPPUNIT_ASSERT_EQUAL(String("Bar"), f->tag()->itemListMap()["----:org.kde.TagLib:Foo"].toStringList()[0]);
    f->save();
    delete f;
  }
开发者ID:sattvik,项目名称:taglib,代码行数:17,代码来源:test_mp4.cpp

示例8: testUpdateStco

  void testUpdateStco()
  {
    ScopedFileCopy copy("no-tags", ".3g2");
    string filename = copy.fileName();

    MP4::File *f = new MP4::File(filename.c_str());
    f->tag()->setArtist(ByteVector(3000, 'x'));

    ByteVectorList data1;
    {
      MP4::Atoms a(f);
      MP4::Atom *stco = a.find("moov")->findall("stco", true)[0];
      f->seek(stco->offset + 12);
      ByteVector data = f->readBlock(stco->length - 12);
      unsigned int count = data.mid(0, 4).toUInt();
      int pos = 4;
      while (count--) {
        unsigned int offset = data.mid(pos, 4).toUInt();
        f->seek(offset);
        data1.append(f->readBlock(20));
        pos += 4;
      }
    }

    f->save();
    delete f;
    f = new MP4::File(filename.c_str());

    {
      MP4::Atoms a(f);
      MP4::Atom *stco = a.find("moov")->findall("stco", true)[0];
      f->seek(stco->offset + 12);
      ByteVector data = f->readBlock(stco->length - 12);
      unsigned int count = data.mid(0, 4).toUInt();
      int pos = 4, i = 0;
      while (count--) {
        unsigned int offset = data.mid(pos, 4).toUInt();
        f->seek(offset);
        CPPUNIT_ASSERT_EQUAL(data1[i], f->readBlock(20));
        pos += 4;
        i++;
      }
    }

    delete f;
  }
开发者ID:gogglesmm,项目名称:taglib,代码行数:46,代码来源:test_mp4.cpp

示例9: testGnre

 void testGnre()
 {
   MP4::File *f = new MP4::File(TEST_FILE_PATH_C("gnre.m4a"));
   CPPUNIT_ASSERT_EQUAL(TagLib::String("Ska"), f->tag()->genre());
   delete f;
 }
开发者ID:gogglesmm,项目名称:taglib,代码行数:6,代码来源:test_mp4.cpp

示例10: testGnre

 void testGnre()
 {
   MP4::File *f = new MP4::File("data/gnre.m4a");
   CPPUNIT_ASSERT_EQUAL(TagLib::String("Ska"), f->tag()->genre());
 }
开发者ID:ABuus,项目名称:partyplayer,代码行数:5,代码来源:test_mp4.cpp


注:本文中的mp4::File类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。