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