リンクを取得してリンクからビデオを再生する MPMoviePlayerController があります。WiFi を使用しても問題はありません。ビデオは再生され、すべて問題ありません。
ただし、3G ネットワークを使用すると、「操作を完了できませんでした」というローカライズされた説明である MPMoviePlayerPlaybackDidFinishNotification をスローする前に、数秒間ハングします。
私のコードは次のとおりです。
videoPlayerController = [[MPMoviePlayerController alloc]
initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:videoPlayerController];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(willEnterFullscreen:)
name:MPMoviePlayerWillEnterFullscreenNotification
object:videoPlayerController];
videoPlayerController.controlStyle = MPMovieControlStyleDefault;
videoPlayerController.shouldAutoplay = YES;
videoPlayerController.repeatMode = MPMovieRepeatModeOne;
CGRect rect = _documentViewer.frame;
[videoPlayerController.view setFrame:rect];
[self.scroller addSubview:videoPlayerController.view];
[videoPlayerController setFullscreen:NO animated:YES];
前述したように、WiFi 接続を使用すると問題なく動作しますが、3G で同じことをするのは好きではありません。ビデオ自体は、特定の URL から 26.8 MB 離れています。3G は、IOS で一度にダウンロードできる量を制限しますか? 3G ネットワーク経由でビデオを再生する代替手段はありますか?
お時間をいただきありがとうございます!