音频的长度

时间:2012-03-19 19:33:14

标签: iphone

如何查找音频文件播放的总持续时间,以便我可以根据时间编程在视图控制器中显示音频文件的内容。

if ([audioPlayer currentTime] ==11){
    [self performSelector:@selector(viewController) withObject:nil]; 

    } else {

        if ([audioPlayer currentTime] ==23){
            [self performSelector:@selector(secondViewController) withObject:nil];  

        }

2 个答案:

答案 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