【问题标题】:Get duration of Matt Gallagher's AudioStreamer from http url?从 http url 获取 Matt Gallagher 的 AudioStreamer 的持续时间?
【发布时间】:2013-04-05 08:55:45
【问题描述】:

我正在使用 Matt Gallagher 的 AudioStreamer 从 url 流式传输 mp3 文件。我需要知道流持续时间,但我找不到怎么做?!

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

请帮忙!

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

        [audioStreamer start];

在开始流后我想获得它的持续时间?

【问题讨论】:

标签: iphone ios objective-c duration audiostreamer


【解决方案1】:

我找到了一个使用 ID3 标签和 AVAsset 的绝佳解决方案

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

【讨论】:

  • 我喜欢您的解决方案,但据我所知,Matt Gallagher 的流媒体不适用于 mp3 播放。它专为无限流式传输而设计,因此持续时间毫无意义。
【解决方案2】:
AVAudioPlayer * sound = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
sound.delegate = self;
sound.volume = 1;
NSLog([NSString stringWithFormat:@"%f", sound.duration]);

试试这个....

【讨论】:

  • 我需要知道流结束前的持续时间:/
猜你喜欢
  • 2012-01-11
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
相关资源
最近更新 更多