获取MP3和M4A音乐文件的歌曲信息以及专辑图片--备用

NSBundle* bundle = [NSBundle mainBundle]; 
    NSString* path = [bundle bundlePath]; 
    NSURL * fileURL=[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/akon、be - you - with.mp3", path]]; 
    AudioFileTypeID fileTypeHint = kAudioFileMP3Type; 
    NSString *fileExtension = [[fileURL path] pathExtension]; 
    if ([fileExtension isEqual:@"mp3"]||[fileExtension isEqual:@"m4a"]) 
    { 
        AudioFileID fileID  = nil; 
        OSStatus err        = noErr; 
         
        err = AudioFileOpenURL( (CFURLRef) fileURL, kAudioFileReadPermission, 0, &fileID ); 
        if( err != noErr ) { 
            NSLog( @"AudioFileOpenURL failed" ); 
        } 
        UInt32 id3DataSize  = 0; 
        err = AudioFileGetPropertyInfo( fileID,   kAudioFilePropertyID3Tag, &id3DataSize, NULL ); 
         
        if( err != noErr ) { 
            NSLog( @"AudioFileGetPropertyInfo failed for ID3 tag" ); 
        } 
        NSDictionary *piDict = nil; 
        UInt32 piDataSize   = sizeof( piDict ); 
        err = AudioFileGetProperty( fileID, kAudioFilePropertyInfoDictionary, &piDataSize, &piDict ); 
        if( err != noErr ) { 
            [piDict release]; 
            NSLog( @"AudioFileGetProperty failed for property info dictionary" ); 
        } 
        CFDataRef AlbumPic= nil; 
        UInt32 picDataSize = sizeof(picDataSize); 
        err =AudioFileGetProperty( fileID,   kAudioFilePropertyAlbumArtwork, &picDataSize, &AlbumPic); 
        if( err != noErr ) { 
            NSLog( @"Get picture failed" ); 
        } 
        NSData* imagedata= (NSData*)AlbumPic;  
        UIImage* image=[[UIImage alloc]initWithData:imagedata]; 
        imageView.image=image; 
        NSString * Album = [(NSDictionary*)piDict objectForKey:  
                            [NSString stringWithUTF8String: kAFInfoDictionary_Album]]; 
        NSString * Artist = [(NSDictionary*)piDict objectForKey:  
                             [NSString stringWithUTF8String: kAFInfoDictionary_Artist]]; 
        NSString * Title = [(NSDictionary*)piDict objectForKey:  
                            [NSString stringWithUTF8String: kAFInfoDictionary_Title]]; 
        NSLog(@"%@",Title); 
         
        NSLog(@"%@",Artist); 
         
        NSLog(@"%@",Album); 
         
    }

时间: 2024-10-22 19:54:08

获取MP3和M4A音乐文件的歌曲信息以及专辑图片--备用的相关文章

Music播放器中歌曲是如何获得专辑图片的

歌曲中自带专辑图片和未带专辑图片获得方法 1.    歌曲中自带专辑图片 解压音乐文件本身自带的压缩图片数据作为专辑封面. 2.    歌曲中不带专辑图片 如果音乐文件本身不存在图片数据,则在本目录寻找AlbumArt.jpg文件: 若AlbumArt.jpg不存在,则寻找以albumart开头.large.jpg结尾的文件: 若albumart开头,large.jpg结尾的文件也不存在,则寻找任何文件名包含albumart的.jpg文件: 若再找不到,则使用文件夹目录下任何.jpg文件: 若以

linux(ubuntu)下为python安装使用mutagen模块获取mp3文件信息包括封面图片的获取

首先是安装 下载地址:    https://pypi.python.org/pypi/mutagen 安装: tar -zxvf mutagen-1.29.tar.gz cd mutagen-1.29 ./setup.py build ./setup.py install 使用: from mutagen.mp3 import MP3, EasyMP3 from mutagen.id3 import EasyID3 from mutagen.id3 import COMM #EasyMP3继承

如何利用 iTunes 把 m4a/wav 文件转成 MP3 格式

MAC技巧 | 如何利用 iTunes 把 m4a/wav 文件转成 MP3 格式 - 简书 原文地址:https://www.cnblogs.com/gitwow/p/11100216.html

用python管理自己的音乐文件夹

这是一个用python3 和 mutagen库编写用来管理自己音乐文件夹的脚本.学习python挺久了,终于能写个有点用的东西了.源代码入下: 不过感觉写得太长了,像这样一个脚本好像几十行就能解决, 求各路大神指点!!! 1 import os 2 from mutagen.mp3 import MP3 3 import mutagen.id3 4 from mutagen.easyid3 import EasyID3 5 global illegel_letter 6 illegel_lett

表单提交音乐文件(php)

利用点空闲时间来写个博客,最近做的项目中需要表单提交音频的,图片的,各种类型,把它存到数据库里,这里先来说一下音乐文件的表单提交吧,后几天再来更新输入数据库的,先看一下效果 点击浏览 就会出来预览,点击mp3的文件 打开播放也可以正常播放 再来换一张图片,试试能不能传上 提交张图片 点击提交 提交不成功,因为这个只允许MP3格式的文件提交 刚才还没看mp3的提交,下面提交一下MP3文件 点击提交 因为没有给它设置跳转页面,所以还在它的处理页面 和图片上传的原理是一样的,图片上传在我的前几篇博客中

从MP3中提取歌曲信息

一首MP3歌曲除了音乐信息外,还包含了如歌名.演唱者等信息,当我们用winamp软件听音乐时,播放清单就自动将这些信息读出来.大部分人都喜欢从网上下载音乐,但下载下来的MP3文件名都是文件上传系统自动取名的,和歌曲本身根本不相符,所以,给用户带来了很大的麻烦.但是,懒人有懒人的做法,我们何不自己写一个程序,将歌曲信息自动读出来并为MP3文件自动更名呢? 下面我就以C#为工具,把开发过程写出来. 一首MP3的额外信息存放在文件的最后面,共占128个字节,其中包括以下的内容(我们定义一个结构说明):

python网易云音乐文件爬取

此程序只适用于歌单列表页面的音乐文件爬取,建议去网易云官网寻找要下载的音乐歌单,将歌单的url地址替换到mian()函数的url,然后下载,文件存放位置为py文件同级的oldMusic文件夹中 直接上代码 #!/usr/bin/env python # _*_ coding: utf-8 _*_ # @Time: 2020/1/29 11:31 # @Author: lixing # @File: getWangYiYunMusic.py # @desc: 爬取网易云上的音乐文件 原文链接:ht

C#获取MP3,WMA信息

用于获取MP3内部信息,包括歌曲名,歌手名等…… namespace FileBatchRemaer.domain { /// <summary> /// Mp3信息结构 /// </summary> public struct Mp3Info { public string identify; //TAG,三个字节 public string Title; //歌曲名,30个字节 public string Artist; //歌手名,30个字节 public string Al

Android开发本地及网络Mp3音乐播放器(十三)网络音乐搜索功能实现,歌名歌手专辑名搜索

实现功能: 实现网络音乐搜索功能 使用观察者设计模式 使用URLEncoder.encode转码 SearchMusicUtils是重点 截止到目前的源码下载: http://download.csdn.net/detail/iwanghang/9507635 欢迎移动开发爱好者交流:我的微信是iwanghang 另外,我打算开始找工作,如果沈阳或周边城市公司有意,也请与我联系. 实现效果如图: 实现代码如下: NetMusicListFragment如下: package com.iwangh