如何在iPhone上收听网络广播?

13

有人知道如何使用代码在iPhone上流式传输互联网广播吗?是否需要提供者?


对我来说似乎不是一个编程问题。 - Noldorin
5
不要因为不理解一个问题就将其投票否决;这是不礼貌的行为。 - Mike Bethany
你好,这个问题解决了吗?我也打算实现网络视频。有什么建议吗? - Paresh Masani
4个回答

13

Matt Gallagher为Mac桌面和iPhone编写了一个非常好的类,用于播放流媒体音频。在此处查看:如何在iPhone上播放网络广播

相反,您需要运行Nicecast、Shoutcast、Icecast或其他MP3或AAC流媒体音频软件的服务器。当然,这个服务器将需要与电台建立音频连接 - 完全基于电台的能力和基础设施 - 通过FM接收器、模拟连接或专用硬件。


6

你可以在iPhone上播放在线流媒体广播,使用MPMoviePlayerController来流式传输音乐

首先,您应该导入媒体播放器框架和音频工具箱框架

然后导入:

 #import <MediaPlayer/MediaPlayer.h>

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:    [NSURL URLWithString:@"YOUR URL"]];
    player.movieSourceType = MPMovieSourceTypeStreaming;
    player.view.hidden = YES;
    [self.view addSubview:player.view];
    [player prepareToPlay];
    [player play];

你只需要调用一个函数就可以停止播放音乐。

[player stop];

thank you,


我尝试了这个,但它在3秒后停止了,我必须再次点击播放按钮。是否有设置可以让 player 对象持续播放? - antf
1
我通过初始化实例变量来解决了这个问题,而不是仅使用上述代码。 - Swissdude
2
@antf MPMoviePlayerController将会连续流播,我认为你已经尝试了一些开源的代码!只需将此代码放在“did load”中,它就能完美工作。 - Neeraj Neeru

6

iPhone OS 3.0支持通过HTTP直播MPEG-2传输流,其中包含AAC音频(HE-AAC或AAC-LC)。您可以在HTTP Live Streaming概述中找到您需要了解的一切。


2
您可以使用AVFoundation框架中的AVPlayer类来播放从服务器流式传输的音频。AVPlayer仅支持iOS SDK支持的编解码器,如mp3和aac。
一些广播电台使用Microsoft流媒体服务器,该服务器使用mms://协议和wma音频编解码器,而这些编解码器不受iOS SDK支持。如果您想播放这些广播电台,您必须使用第三方库,如libmms或FFmpeg。第三方库将处理mms://协议和wma编解码器,但您仍然需要使用Audio Queue服务来播放解码后的音频数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接