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); 
         
    }

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

  1. 【ASP.NET 进阶】获取MP3文件信息并显示专辑图片

    突发奇想,想弄个显示MP3文件信息和专辑图片的小Demo,个人不是大牛,遂百度之,总算搞定,现分享如下. 效果图: GIF效果图: 主要是依靠2个DLL文件:ID3.dll 和 Interop.She ...

  2. Golang获取目录下的文件及目录信息

    一.获取当前目录下的文件或目录信息(不包含多级子目录) func main() {  pwd,_ := os.Getwd() //获取当前目录  //获取文件或目录相关信息  fileInfoList ...

  3. 实现php获取mp3文件元信息如播放时间歌曲作者等

    最近收集到一个php获取mp3文件元信息的类,感觉比较方便.现在分享给大家! 下面是使用方式和测试方式: <?php include_once 'mp3file.class.php'; func ...

  4. C# 获取 mp3文件信息【包括:文件大小、歌曲长度、歌手、专辑】

    C# 获取 mp3文件信息[包括:文件大小.歌曲长度.歌手.专辑] 第一种方式:[代码已验证] // http://bbs.csdn.net/topics/390392612   string fil ...

  5. Python解密网易云音乐缓存文件获取MP3

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:GeneralMonkey Python解密网易云音乐缓存文件获取MP3 ...

  6. C# 获取 mp3文件信息

    C# 获取 mp3文件信息[包括:文件大小.歌曲长度.歌手.专辑] 第一种方式:[代码已验证] // http://bbs.csdn.net/topics/390392612   string fil ...

  7. android播放器如何获取音乐文件信息

    转http://blog.csdn.net/hellofeiya/article/details/8464356, android自带的音乐播放器中,在获取音乐文件信息的时候是通过扫描得到相关信息的. ...

  8. windows server 2008 R2服务器无法通过ShellClass获取mp3音乐时长

    我们先看一段代码,获取mp3播放时长: #region GetMediaDetailInfo 获取媒体文件属性信息 /// <summary> /// 获取媒体文件属性信息 /// < ...

  9. iOS - 音乐播放器需要获取音乐文件的一些数据信息(封装获取封面图片的类)

    // // AVMetadataInfo.h // AVMetadata // // Created by Wengrp on 15/10/27. // Copyright © 2015年 Wengr ...

随机推荐

  1. STM32 CAN 波特率设置及采样点设置

    一.CAN波特率 STM32 位时间定义: ● 同步段(SYNC_SEG):通常期望位的变化发生在该时间段内.其值固定为1个时间单元(1 x tCAN).● 时间段1(BS1):定义采样点的位置.它包 ...

  2. 百度地图API 重新生成点聚合的功能

    百度点聚合用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能. http://api.map.baidu.com/library/MarkerClusterer/1.2/docs/symbo ...

  3. 从VSS到SVN再到Git 记Git的基本操作

    Source code control 一直是软件开发过程中重要的环节,从最初的纯文件备份,到使用工具进行管理.Source code control 工具的作用也不仅仅只是单纯的对同一个版本进行管理 ...

  4. SKShapeNode类

    继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/L ...

  5. 在自己电脑上建立SVNserver

    转载处:http://blog.csdn.net/shmily570/article/details/8227690 传统的Subversionserver配置方法: 一.准备工作 1.获取 Subv ...

  6. packets

    packets   时间限制(普通/Java):1000MS/10000MS     运行内存限制:65536KByte 总提交: 27            测试通过: 14 描述 A factor ...

  7. lamp安装指南(转)

    主要软件包, 1. httpd-2.2.6.tar.gz 2. mysql-5.0.45-linux-i686-glibc23.tar.gz ( 这个版本是已编译好的压缩包,解压后稍做配置即可使用 ) ...

  8. Linux应用程序打包

      原文地址:http://blog.solrex.cn/articles/packaging-1-src.html1. 应用程序打包技术之一(源代码篇) 相信很多朋友都曾经为方便做某件事写过自己的小 ...

  9. 头像上传ASP.NET MVC实现-可拖动大小实时预览

    这是一个ASP.NET MVC实现的类似于dz论坛的上传头像功能.可以拖动选择大小,支持多种尺寸生成. 效果界面 头像上传源码下载 项目中具体应用时,请根据需求做调整.欢迎交流~回复即可下载~源码下载 ...

  10. 富文本 SpannableString Span

    经典使用场景 SpannableStringBuilder needStartSSB = new SpannableStringBuilder("需要"); SpannableSt ...