2.2 Audio file 之 Audio信息获取

来源:互联网 发布:软件开发方向 编辑:程序博客网 时间:2024/06/06 09:44

引入框架 #import AudioToolbox/AudioToolbox.h>
在项目中拖入音频文件
NSString *filePath = [[NSBundle mainBundle]pathForResource:@”” ofType:@”“];
NSURL *audioUrl = [NSURL URLWithString:filePath];

//打开音频文件AudioFileID audioID;AudioFileOpenURL((__bridge CFURLRef)audioUrl, kAudioFileReadPermission, 0, &audioID);//读取UInt32 outDataSize = 0;AudioFileGetPropertyInfo(audioID, kAudioFilePropertyInfoDictionary, &outDataSize, 0);CFDictionaryRef dictionaryRef;AudioFileGetProperty(audioID, kAudioFilePropertyInfoDictionary, &outDataSize, &dictionaryRef);NSDictionary *dictionary = (__bridge NSDictionary*) dictionaryRef;NSLog(@"%@",dictionary);//释放refCFRelease(dictionaryRef);//关闭音频文件AudioFileClose(audioID);

注意:此处获取到的音频文件时长会不准

使用下面的方法获取音频文件时长会比较精准
AVURLAsset* audioAsset =[AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:filePath] options:nil];

CMTime audioDuration = audioAsset.duration;float audioDurationSeconds =CMTimeGetSeconds(audioDuration);NSLog(@"audioDurationSeconds = %f", audioDurationSeconds);audioDurationSeconds * 1000;//毫秒