从http url获取Matt Gallagher的AudioStreamer的时长?

时间:2013-04-05 08:55:45

标签: iphone ios objective-c duration audiostreamer

我正在使用Matt Gallagher的AudioStreamer来从网址流式传输mp3文件。我需要知道流的持续时间,但我找不到如何?!

我尝试使用AudioStreamer对象的duration属性,但它返回0可能是因为该流来自url。

请帮忙!

audioStreamer = [[AudioStreamer alloc] initWithURL:[NSURL URLWithString:@"http://ia701509.us.archive.org/25/items/TvQuran.com__Maher/001.mp3"]]; 

        [audioStreamer start];

启动流后,我希望得到它的持续时间?

2 个答案:

答案 0 :(得分:1)

我找到了一个很好的解决方案,使用ID3标签和AVAsset

 NSURL *url = [NSURL  URLWithString:@"your url here"]; 
        AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
        NSLog(@"> Duration = %.2f seconds", CMTimeGetSeconds(asset.duration));

答案 1 :(得分:0)

AVAudioPlayer * sound = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
sound.delegate = self;
sound.volume = 1;
NSLog([NSString stringWithFormat:@"%f", sound.duration]);

试试这个......