0

私は iOS 開発にまったく慣れていないので、これが既知の問題であるかどうか、またはなぜこれが発生するのかわかりません。アプリにビデオを何度も再生する画面があります。前の画面で、ユーザーは、ビデオを再生する画面を処理するビュー コントローラーの videoURL プロパティを設定するさまざまなボタンを押して、どのビデオを選択します。viewDidLoad メソッドは次のようになります。

- (void)viewDidLoad
{
    [super viewDidLoad];
    player = [[MPMoviePlayerController alloc] initWithContentURL: self.videoURL];
    player.repeatMode=MPMovieRepeatModeOne;
    player.controlStyle =MPMovieControlStyleNone;
    [player prepareToPlay];
    [player.view setFrame: self.videoView.bounds];  // player's frame must match parent's
    [self.videoView addSubview: player.view];
    [player play];
}

これはシミュレーターでうまく機能します。ビデオは期待どおりにループします。ただし、一部のハードウェアに展開すると、ループせず、1 回だけ再生されます。iOS 6.1.3 と iOS 7.0.3 の 2 つの異なる iPhone 4 で試しました。

この動作が見られる理由はありますか?

編集: このコードは iPhone5 ハードウェアでは期待どおりに動作しますが、iPhone4 ハードウェアでは動作しないことに気付きました。iPhone4S または新しい 5s または 5c のいずれかでテストできませんでした。

4

2 に答える 2

0

これが古い電話でのみ発生していることを確認できます。iPhone 4 でも同じ問題が発生しましたが、5 と 5S は正常に繰り返されるようです。メモリの問題(メモリがないので再生できない)とのことでしたが、私の持っているiPhone4では十分です。

また、直接アクセスするのではなく、アクセサーメソッドを介して値を設定しようとしましたが、うまくいきませんでした。

iPhone 4 は iPhone 5 と同じ OS バージョンを実行しているため、ハードウェアの問題である可能性があります。

于 2014-04-02T10:47:13.157 に答える