我正在使用MPMoviePlayerController在我的应用程序中播放实时流媒体视频。在播放时,屏幕有时会变成黑色,但我能听到音频。为什么这样 ? 。我试图在屏幕变黑时收到通知,但我很不走运。
有谁能告诉我为什么屏幕会变黑以进行直播? 如何在MPMoviePlayer变黑时收到通知?
请帮助我!!
答案 0 :(得分:2)
HTTP Live Streaming overview可以这么说。
内容提供商为流选择的数据速率最高 受目标客户端平台和预期网络的影响 拓扑结构。流媒体协议本身对此没有任何限制 可以使用的数据速率。目前的实施已经实现 使用音频视频流进行测试,数据速率低至64 Kbps iPhone高达3 Mbps。 64 Kbps的纯音频流 建议作为交替使用缓慢的蜂窝连接。
基本上,如果网络太慢而无法流式传输视频,则将使用纯音频模式。我找不到使用MPMoviePlayerController获取备用更改通知的方法。但是,您可以注册MPMovieMediaTypesAvailableNotification
,这样您就可以了解音频/视频/两者是否可用(通过movieMediaTypes
属性)。
enum {
MPMovieMediaTypeMaskNone = 0,
MPMovieMediaTypeMaskVideo = 1 << 0,
MPMovieMediaTypeMaskAudio = 1 << 1
};
typedef NSInteger MPMovieMediaTypeMask;
我不完全确定它会在流媒体切换到音频时通知您,但您可以随时尝试。