如何在我的iOS应用程序中流式传输来自SHOUTCast的在线广播?

时间:2013-01-08 11:08:16

标签: objective-c ios audio-streaming online-radio

我正在开发iPhone在线广播流媒体应用程序。我使用Matt Gallaher的AudioStreamer类来从SHOUTCast流式传输电台在线调谐。但问题是AudioStreamer API已被放弃,无法播放各种广播频道。 我用google搜索并找到了各种替代方案,包括:AVPlayer,MPMoviePlayer等。

请建议哪个播放器最符合要求。

2 个答案:

答案 0 :(得分:3)

您可以使用MPMovieplayerviewcontroller。它非常适合流式传输音频/视频。我也是

使用此功能在我的App&它看起来像iPhone的默认播放器。

好的,这就是我在项目中使用这个播放器的编码:

     NSString *geturl = [[radiotablearray objectAtIndex:btntag]objectForKey:@"iurl"];
    NSLog(@"geturl..%@",geturl);
    NSURL *fileURL=[NSURL URLWithString:geturl];
    NSLog(@"fileURL..%@",fileURL);
    moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];
    [moviePlayerController.moviePlayer prepareToPlay];
    moviePlayerController.moviePlayer.shouldAutoplay=YES;
    moviePlayerController.view.frame = self.view.frame;
    [self presentMoviePlayerViewControllerAnimated:moviePlayerController];
[moviePlayerController.moviePlayer play];

同时添加mediaplayer& App.And中的Avfoundation框架在.h文件中添加或导入这两个:

#import <MediaPlayer/MediaPlayer.h>
#import <AVFoundation/AVFoundation.h>

&安培;在.m文件中导入#import <MediaPlayer/MediaPlayer.h>。还可以在.h文件中创建如下所示的播放器属性:

MPMoviePlayerViewController *moviePlayerController;
 @property(strong,retain)  MPMoviePlayerViewController *moviePlayerController;

并根据需要添加方法,但也可以根据需要更改代码我只是将您的实施代码发送给您,只需根据您的要求进行更改即可。如果您有任何问题,请问我。祝你好运。

答案 1 :(得分:0)

// viewcontroller.h

MPMoviePlayerViewController *moviePlayer;

//viewcontroller.m

这是在viewDidLoad

中实施的
moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",@"http://sample url"]]];

[moviePlayer.moviePlayer prepareToPlay];

moviePlayer.view.hidden = YES;

[self.view addSubview:moviePlayer.view];

[moviePlayer.moviePlayer play];