标签: id3

如何解码mp3文件

如何使用lisp获取mp3文件的艺术家

(let ((in (open "test.mp3" :direction 
        :input 
        :element-type '(unsigned-byte 8))))
 (when in
   (loop for line =  (read-byte 'utf-8 in)

      while line do (format t "~a" line ))
    (close in)))
Run Code Online (Sandbox Code Playgroud)

lisp mp3 id3 common-lisp

2
推荐指数
1
解决办法
887
查看次数

使用C从二进制文件中删除最后128个字节

我在C中制作一个id3标签编辑器.我无法弄清楚如何从二进制文件末尾拉出最后128个字节,以便操作/打印出id3标签所在的区域.下面是一些代码:

struct Tag{
    char tagMark[3];
    char trackName[30];
    char artistName[30];
    char albumName[30];
    char year[4];
    char comment[30];
    char genre;
};

int main(int argc, char *argv[]){
    struct Tag fileTag;
    FILE *fp;
    fp=fopen(argv[0], "r+b");
    if(!fp){
        printf("ERROR: File does not exist.");
    }

    int bufLength=129;
    fseek(fp, 0, SEEK_END);
    long fileLength=ftell(fp);
    fseek(fp, fileLength-bufLength+1, SEEK_SET);
    fread(&fileTag, sizeof(fileTag), 1, fp);

    printf("%s\n", fileTag.tagMark);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用一个文件来测试它,其中包含一个格式正确的id3标记.在id3标记中,前三个字节分别包含"T","A"和"G",以便识别标记是否存在.有人知道为什么当我运行这个程序时,"_main"是打印出来的唯一东西吗?

c io struct id3

2
推荐指数
1
解决办法
1336
查看次数

是否有用于ID3元数据的Perl或Python库?

基本上,我有一堆音乐文件从我兄弟的iPod中悄悄地保留了他们的元数据,但有一些绝对可怕的四个角色名称,iPod似乎喜欢将它们存放下来.我想我会写一个很好的,快速的脚本来按我的意愿重命名它们,但我很好奇任何用于读取ID3元数据的好库.我更喜欢Perl或Python.我对Perl感到很自在,因为我在工作中使用它,而Python我需要更多的练习,这将使我的Python传道者朋友们感到高兴.

无论如何,缩短版本:你能为Python或Perl命名一个好的库/模块,这将允许我从一堆mp3中轻松提取ID3元数据吗?

python perl id3

1
推荐指数
2
解决办法
4112
查看次数

TagLib #Windows发行版?还是另一个好的ID3读卡器?

我想编写一个快速程序,让我的MP3文件的文件组织与我的ID3标签中的信息同步...

我曾试图获得Windows Media Format SDK,但是当我去安装它时说它只能在WinXP上运行.我发现有人在这里建议TagLib#,从代码示例中看起来非常好.问题是官方网站似乎已经消失了,我在Novell的服务器上发现的其他链接也已关闭.

任何人都知道在哪里我仍然可以获得用于Windows的C#/ VB.NET的TagLib#发行版?还是另一个好的ID3标签阅读器?

vb.net id3 taglib-sharp

1
推荐指数
1
解决办法
4141
查看次数

Python中的ID3标签 - Python是否是此任务的错误语言?

我正在尝试编写一个Python脚本来读取我的MP3的文件名,当它找到一个缺少的Artist标签时,它将从文件名的第一部分开始.我的大部分MP3都标题为"Artist - Title.mp3".

但是没有一个ID3标签阅读器在Python中运行良好.ID3将不会读取1.1之后的任何标记,并且自2002年以来尚未开发.当文件缺少标记时,Mutagen会引发异常.Eye3D需要安装二进制文件以使库工作,与pylibid3同上.

我使用的是错误的语言吗?我听说Perl有一些很棒的ID3标签库.我是一个新手,所以切换语言(我读过一本关于Perl的书已经有一段时间了)意味着从头开始.但是如果Python是错误的语言,我愿意这样做.

有什么想法吗?

python perl id3

1
推荐指数
1
解决办法
1108
查看次数

在Android上为已下载的mp3添加封面艺术

如何以编程方式将下载的封面艺术(专辑封面)添加到下载的mp3中?

我让我的应用程序从Android APIS通过DownloadManager下载mp3文件,如下所示:

private void startDownload(){
    Uri uri = Uri.parse(BASE_URL+DOWNLOAD+mp3+".mp3");

    filename = title+".mp3";

    Request request = new DownloadManager.Request(uri)
    .setDestinationInExternalPublicDir(MUSIC_PATH, filename);

    DOWNLOAD_MANAGER.enqueue(request);
}
Run Code Online (Sandbox Code Playgroud)

是否可以在下载的mp3文件中添加一个coverart,以便手机上的mp3播放器在播放歌曲时会显示图像?

mp3 android id3 download-manager id3-tag

1
推荐指数
1
解决办法
6664
查看次数

在Ubuntu上安装PECL id3扩展

我一直在尝试这个,现在仍然无法找到答案,当我尝试 sudo pecl install id3这个错误发生

downloading id3-0.2.tgz ...
Starting to download id3-0.2.tgz (20,693 bytes)
.....done: 20,693 bytes
4 source files, building
running: phpize
Cannot find config.m4.
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module

If the command failed with 'phpize: not found' then you need to install php5-dev     packageYou can do it by running 'apt-get install php5-dev' as a root userERROR: `phpize' failed
Run Code Online (Sandbox Code Playgroud)

请帮忙 !!!我已经安装了php5-dev.

php ubuntu id3 pecl id3v2

1
推荐指数
1
解决办法
3889
查看次数

Python,从m4a文件读取ID3标签

我有大量 m4a 文件,所有文件都带有流派、艺术家和标题的 ID3 标签。我想要的是能够读取这些标签并将它们存储为字符串。

python id3 m4a

1
推荐指数
1
解决办法
4032
查看次数

string.replace('the','')正在留下空格

我有一个字符串,它是我从MP3 ID3标签获得的艺术家的名字

sArtist = "The Beatles"
Run Code Online (Sandbox Code Playgroud)

我想要的是改变它

sArtist = "Beatles, the"
Run Code Online (Sandbox Code Playgroud)

我遇到了两个不同的问题.我的第一个问题是我似乎在为''换取''.

if sArtist.lower().find('the') == 0:
    sArtist = sArtist.lower().replace('the','')
    sArtist = sArtist + ", the"
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是因为我必须检查"The"和"the"我使用sArtist.lower().然而,这将我的结果从"甲壳虫乐队"改为"披头士乐队".为了解决这个问题,我刚刚删除了.lower并添加了第二行代码来明确查找这两种情况.

if sArtist.lower().find('the') == 0:
    sArtist = sArtist.replace('the','')
    sArtist = sArtist.replace('The','')
    sArtist = sArtist + ", the"
Run Code Online (Sandbox Code Playgroud)

所以我真正需要解决的问题是为什么我用' <SPACE>而不是'代替'' <NULL>.但如果有人有更好的方法来做到这一点我会很高兴教育:)

python string mp3 id3

0
推荐指数
1
解决办法
253
查看次数

RoR TagLib-Ruby:如何在DB中设置ID3标签

在此先感谢您的帮助.

我想在我的数据库中设置id3标签数据作为我的模型MasterSong的属性.具体来说,标题,艺术家和专辑.

create_table :master_songs do |t|
  t.integer :user_id
  t.has_attached_file :m_song
 **- t.string :title
 - t.string :artist
 - t.string :album**
Run Code Online (Sandbox Code Playgroud)

在我的模型中,我使用回调来保存对象(master_song)之前的数据.

before_save :set_id3_tags_in_database

def set_id3_tags_in_database
TagLib::MPEG::File.open(self.m_song.path) do |file|
   tag = file.id3v2_tag
   tag.title
   tag.album
   tag.artist
end
  self.update_attributes(:title => tag.title,
  :artist => tag.artist,
  :album => tag.album)
end
Run Code Online (Sandbox Code Playgroud)

我很确定我的语法是问题所在.该对象似乎遇到了错误

undefined method `title' for nil:NilClass with an infinite loop
Run Code Online (Sandbox Code Playgroud)

控制器创建动作是正常的:

 def create
   @master_song = current_user.master_songs.build(params[:master_song])

   respond_to do |format|
    if @master_song.save
     format.html { redirect_to @master_song, notice: 'Master song was successfullycreated.' }
   end
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?更新:def set_id3_tags z = …

id3 ruby-on-rails taglib-ruby

0
推荐指数
1
解决办法
956
查看次数