2012-03-19 5 views
1

Как найти общую продолжительность воспроизведения звукового файла, чтобы я мог запрограммировать отображение содержимого аудиофайла в viewcontrollers в соответствии с временем.Длина аудиофайла

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

    } else { 

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

     } 
+0

Какие рамки вы используете? – esqew

+0

AVFoundation Framework – user1120133

ответ

1

Если вы используете AVAudioPlayer, вы можете использовать это свойство duration, чтобы получить длину загруженного аудиофайла в секундах.

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

EDIT: Это, чтобы получить длину файла, даже если он не связан с AVPlayer .., чтобы вы могли заполнить список ... надеясь, что это поможет кому-то ..: D

Смежные вопросы