iPhone - 流式传输音频

Posted

技术标签:

【中文标题】iPhone - 流式传输音频【英文标题】:iPhone - Streaming Audio 【发布时间】:2012-12-02 17:29:58 【问题描述】:

我是 Mac Dev 的新手,我在音频流方面遇到了困难。我在Get an audio stream from URI and play it on iPhone 找到了一个很好的参考

作者似乎很高兴,我试图重现该解决方案。流来自 Dogglounge 电台。 URL 是http://dl3.mixcache.com:8000(这是当我单击“获取信息”时 iTunes 返回的内容)。

我所做的是创建一个 iPhone 应用程序,其中包含一个实际上没有任何控件的视图。我在 viewDidLoad 中添加了代码以尽快启动流。似乎 NSData *_objectData 无休止地运行。我使用ios6模拟器。

- (void)viewDidLoad

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    NSString* resourcePath = @"http://dl3.mixcache.com:8000"; //your url
    NSURL *url = [NSURL URLWithString:resourcePath];

    NSError *e = nil;
    NSData *_objectData = [NSData dataWithContentsOfURL:url options:NSDataReadingMappedIfSafe error:&e];


    NSLog(@"%@", [e localizedDescription]);

    NSError *error;

    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
    audioPlayer.numberOfLoops = 0;
    audioPlayer.volume = 1.0f;
    [audioPlayer prepareToPlay];

    if (audioPlayer == nil)
        NSLog(@"%@", [error description]);
    else
        [audioPlayer play];



【问题讨论】:

【参考方案1】:

这是NSData dataWithContentsOfURL: 的预期行为:它会一直阻塞,直到下载数据。异步下载请看这个答案:Does -dataWithContentsOfURL: of NSData work in a background thread?

【讨论】:

以上是关于iPhone - 流式传输音频的主要内容,如果未能解决你的问题,请参考以下文章

用于从 iphone 麦克风流式传输音频的多点连接

将音频从 Mac 上的麦克风流式传输到 iPhone

如何通过套接字或框架将音频从 iPhone 的麦克风流式传输到 Mac/PC?

如何使用多对等连接框架在两部 iPhone 之间流式传输音频文件?

iPhone SDK:将流式音频文件保存到 Documents 文件夹

在 iphone 上通过 http 套接字播放 mp3 音频