does using MPMoviePlayerController to play videos that reside on remote server require limiting of bitrate when using Cellular network?
In my app among other things, I am using MPMoviePlayerControl开发者_运维知识库ler to play video files (not streaming source) that reside on a remote server. I saw this post and I am wondering if my app can be rejected for “transferring excessive volumes of data” (some of my videos are about 30 MB). Does MPMoviePlayerController have a built in way to limit the downloading rate when using the cellular network or is it us, developers that wave to to something to controll that? And if the second anwer is the correct one what can I do besides using the MPMoviePlayerController only with wireless network? I the MPMoviePlayerController reference mentions nothing about this issue.
Thanks in advance!
You should really consider using streaming instead. Forcing a user to download 30mb of movie data before actually being able to see something is just not state of the art. Setting up a streaming source via HTTP is not that hard. Within the m3u8-snippet, you will be able to provide separate encodings/profiles depending on the available bandwidth. The actual selection of the appropriate encoding/profile will happen totally transparently for you as a developer - MPMoviePlayerController does that magic for you.
EDIT: oops, noticed I did not really answer your question to the point - in short, MPMoviePlayerController does not provide what you are looking for. Instead, your might want to use ASIHTTPRequest which does allow HTTP-download with bandwidth restrictions.
From Apple's documents (HTTP Live Streaming Overview):
Requirements for Apps
Warning: Apps submitted for distribution in the App Store must conform to these requirements. If your app delivers video over cellular networks, and the video exceeds either 10 minutes duration or 5 MB of data in a five minute period, you are required to use HTTP Live Streaming. (Progressive download may be used for smaller clips.)
If your app uses HTTP Live Streaming over cellular networks, you are required to provide at least one stream at 64 Kbps or lower bandwidth (the low-bandwidth stream may be audio-only or audio with a still image).
These requirements apply to apps submitted for distribution in the App Store for use on Apple products. Non-compliant apps may be rejected or removed, at the discretion of Apple.
精彩评论