我有一个HTTP Live流媒体服务器设置,提供分段的mp3音频内容(URL指向playlist.m3u8索引文件)。 我需要构建一款iOS客户端应用程序来使用这个音频流,不使用任何标准的Apple控件/ UI。 它应该在后台播放音频流,我想使用自己定制的UI来提供控件。
由于内容纯粹是音频,我不想使用MPMoviePlayerController类,因为它会接管UI。 尽管AVAudioPlayer不适用于网络流,但我已经尝试使用它,结果意料之中地出现错误代码“-43”:NSOSStatusErrorDomain无法播放。
我还尝试创建一个高度和宽度均为1像素的UIWebView,并将其指向服务器上的playlist.m3u8文件。 这可以工作,但不幸的是,我仍然失去了UI,因为UIWebView只是将回放任务委托给QuickTime播放器,它会在iOS 3.xx设备上全屏启动。
基本上,对我来说,苹果没有为消费HTTP Live Streaming 音频流提供任何客户端API,开发人员被迫放弃UI并使用QuickTime播放器播放流并占据屏幕。 哎...
我想知道是否有人有建议帮助我解决以上问题。否则,我的备选方案是放弃HTTP Live流媒体并使用著名的Matt Gallagher经典流媒体实现。 但是,我有点担心苹果的指南 明确建议,对于预计发送大量音频或视频内容的应用程序(如我的应用程序),必须使用HTTP Live流媒体。 这是否意味着我的备选方案实现容易被苹果拒绝? 是否有方法规避此指南?
由于内容纯粹是音频,我不想使用MPMoviePlayerController类,因为它会接管UI。 尽管AVAudioPlayer不适用于网络流,但我已经尝试使用它,结果意料之中地出现错误代码“-43”:NSOSStatusErrorDomain无法播放。
我还尝试创建一个高度和宽度均为1像素的UIWebView,并将其指向服务器上的playlist.m3u8文件。 这可以工作,但不幸的是,我仍然失去了UI,因为UIWebView只是将回放任务委托给QuickTime播放器,它会在iOS 3.xx设备上全屏启动。
基本上,对我来说,苹果没有为消费HTTP Live Streaming 音频流提供任何客户端API,开发人员被迫放弃UI并使用QuickTime播放器播放流并占据屏幕。 哎...
我想知道是否有人有建议帮助我解决以上问题。否则,我的备选方案是放弃HTTP Live流媒体并使用著名的Matt Gallagher经典流媒体实现。 但是,我有点担心苹果的指南 明确建议,对于预计发送大量音频或视频内容的应用程序(如我的应用程序),必须使用HTTP Live流媒体。 这是否意味着我的备选方案实现容易被苹果拒绝? 是否有方法规避此指南?
player.view.hidden = YES;
仅适用于iOS 3.2及更高版本,这意味着仅适用于安装有iOS 4.0及以上版本的iPhone。因此,在我的应用程序中,我希望支持iOS 3.x及以上版本的iPhone,这不是可行的选项。 - bhavinb