如何查找音频文件播放的总持续时间,以便我可以根据时间编程在视图控制器中显示音频文件的内容。
if ([audioPlayer currentTime] ==11){
[self performSelector:@selector(viewController) withObject:nil];
} else {
if ([audioPlayer currentTime] ==23){
[self performSelector:@selector(secondViewController) withObject:nil];
}
答案 0 :(得分:1)
如果您使用的是AVAudioPlayer
,则可以使用它的duration
属性来检索加载的音频文件的长度。
答案 1 :(得分:1)
使用AudioFileServices函数...
NSURL *afUrl = [NSURL fileURLWithPath:soundPath];
AudioFileID fileID;
OSStatus result = AudioFileOpenURL((CFURLRef)afUrl, kAudioFileReadPermission, 0, &fileID);
UInt64 outDataSize = 0;
UInt32 thePropSize = sizeof(UInt64);
result = AudioFileGetProperty(fileID, kAudioFilePropertyEstimatedDuration, &thePropSize, &outDataSize);
AudioFileClose(fileID);
了解更多信息,请参阅这些链接.. http://developer.apple.com/library/ios/#codinghowtos/AudioAndVideo/_index.html https://developer.apple.com/library/mac/#documentation/musicaudio/reference/AudioFileConvertRef/Reference/reference.html
编辑:这是为了得到文件的长度,即使它没有与AVPlayer关联..所以你可以填充一个列表...希望这有助于某人......:D