博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取MP3和M4A音乐文件的歌曲信息以及专辑图片--备用
阅读量:5988 次
发布时间:2019-06-20

本文共 1760 字,大约阅读时间需要 5 分钟。

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

转载地址:http://pvjlx.baihongyu.com/

你可能感兴趣的文章
mysql环境搭建
查看>>
android中使用junit测试
查看>>
URLLIB,URLLIB2,HTTPLIB
查看>>
FTP协议的44种命令
查看>>
apple个人开发者证书无线发布app的实现
查看>>
Android中如何查看内存(上)
查看>>
安全cookie登录状态设计方案
查看>>
ADO.NET
查看>>
GO 时间相关函数
查看>>
Tomcat报异常:Too many open files 的解决之路
查看>>
couchdb配置详解
查看>>
总结大中小型项目的git流程
查看>>
z-index作用于position为非static的元素上
查看>>
信息安全原理与实践(第2版)
查看>>
tcpdump的基本使用
查看>>
开源 免费 java CMS - FreeCMS-数据对象-info
查看>>
开源 java CMS - FreeCMS2.8 依申请公开
查看>>
JS判断浏览器 IE7,IE6,Mozilla
查看>>
python 下载指定网页上得图片
查看>>
Vue2 无限级分类(添加,删除,修改)
查看>>