2012-03-06 9 views
0

を返す私はそう私が使用期間を得るために、オーディオディレクトリ内のファイルとその期間の一覧を表示します。私はなぜ、どのようにそれを解決するかを知りたいです。なぜ負の値に

敬具

答えて

0

これはそのマイナスに与えるので、あなたが割り当てて、間違ったフォーマットなしのNSLogで印刷されているコード内 ..あなたを助けることを願っています。一度それをチェックしてください。

AVAudioPlayer * sound = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:@"/Users/apple/Desktop/LabelTextDemo/LabelTextDemo/song2.caf"] error:nil]; 

NSLog(@"%@",[NSString stringWithFormat:@"%.2f", sound.duration]); 
+0

このラインcell.detailTextLabel.text =問題点[NSStringのstringWithFormat:@ "時間:秒.2f%"、sound.duration]。 – AMH

+0

lblLabel2.text = [NSString stringWithFormat:@ "%。2f"、sound.duration];私はこれとその仕事のようにやっている – Kartik

+0

はまだ同じエラー – AMH

2
AudioFileID      audioFile; 
CFDictionaryRef piDict = nil; 
UInt32 piDataSize = sizeof(piDict); 

if (noErr != AudioFileOpenURL((CFURLRef)[NSURL fileURLWithPath:filePath], 0x01, kAudioFileCAFType, &audioFile)) 
{ 
    return [NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithString:filePath], @"FilePath", @"Unknown",@"Title",@"Unknown",@"Album",@"Unknown",@"Artist",@"0", @"Duration", nil]; 
} 
if(noErr != AudioFileGetProperty(audioFile, kAudioFilePropertyInfoDictionary, &piDataSize, &piDict)) 
{ 
    AudioFileClose(audioFile); 
    return [NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithString:filePath], @"FilePath", @"Unknown",@"Title",@"Unknown",@"Album",@"Unknown",@"Artist",@"0", @"Duration", nil]; 
} 

AudioFileClose(audioFile); 

if(piDict) 
{ 
    NSString * duration = @"0"; 
    CFStringRef  durationString = nil; 
    if (piDict && CFDictionaryGetValueIfPresent(piDict, CFSTR(kAFInfoDictionary_ApproximateDurationInSeconds), (const void **) &durationString)) 
    { 
     duration = (NSString*)durationString; 
     duration = [duration stringByReplacingOccurrencesOfString:@"," withString:@""]; 
    } 
    if (duration) 
     [songInfomationDictionary setObject:duration forKey:@"Duration"]; 


    CFRelease(piDict); 
    //get duration as string 
} 
return nil; 
+2

コードの壁だけでなく説明も少し追加して – jrturton

関連する問題