2011-02-17 58 views
4

我使用MPMoviePlayerController播放音频流。 我的代码如下的例子:MPMoviePlayerController音频显示“完成”按钮

http://iosdevelopertips.com/video/getting-mpmovieplayercontroller-to-cooperate-with-ios4-3-2-ipad-and-earlier-versions-of-iphone-sdk.html

一切正常,但在流播放,没有“完成” 按钮,关闭播放器。

我首先用一个普通的.mp3文件测试它。随着文件的唯一 可能性,我发现是跳到结束, 所以玩家得到MPMoviePlayerPlaybackDidFinishNotification 通知 (但这不会对层出不穷的工作,因为没有时间轴 跳到终点) 。

我尝试了各种风格,如[mp setControlStyle:MPMovieControlStyleFullscreen];没有成功。

在文档在 MPMoviePlayerController Class表示:

该类扮演的iOS支持的任何视频或音频文件 。这包括 都流媒体内容和固定长度 文件

是否有同时播放一些音频 内容,以显示该按钮的可能性,或有任何其他解决办法?

我试着给你看一张屏幕截图,但“新用户最多只能发布两个超链接”。

回答

13

我找到了我自己的解决方案。

使用MPMoviePlayerViewController类,而不是MPMoviePlayerController解决了这个问题:

NSString *path = @"http://yourstreamingurl.com/stream.m3u"; 

MPMoviePlayerViewController* mpviewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:path]]; 

mpviewController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; 
[self presentModalViewController:mpviewController animated:YES]; 
[[mpviewController moviePlayer] play]; 
+1

它可以完美运行此外MPViewController在按下“完成”时自动关闭自身。 – Andy 2011-04-06 18:43:08

2

若要播放本地文件,删除

mpviewController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; 

其他明智的,它会返回

Terminating app due to uncaught exception NSInvalidArgumentException reason An AVPlayerItem cannot be associated with more than one instance of AVPlayer 
相关问题