1

ストリームからムービーをロードする MPMoviePlayer があります。タイマーを使用して 15 秒でタイムアウトを実装しました。しかし、タイマーなしでタイムアウトを実装するための他のより良い方法はありますか?

4

2 に答える 2

0

に登録しMPMoviePlayerLoadStateDidChangeNotificationます。そのハンドラー内で、現在のロード状態を確認し、をマスクしますMPMovieLoadStateStalled

- (void)MPMoviePlayerLoadStateDidChange:(NSNotification *)notification
{
    //is the player stalled, hence possibly starving?
    if ((movieController_.loadState & MPMovieLoadStateStalled) == MPMovieLoadStateStalled)
    {  //yes->do something
       NSLog(@"hey there, I am starving to death here");
    }
}

上位のif句内にタイマーを登録することをお勧めします(例:10秒)。その赤ちゃんがそれ以上状態を変更せずに時間がなくなったら、ビデオの再生を終了/スキップするために何かをします。

于 2011-05-03T12:29:20.113 に答える
0

よくわかりませんがperformSelector、タイマーとして使用できると思いますか?

[self performSelector:@selector(checkTimeout:) withObject:theMovie afterDelay:15];

次に、ムービーの状態を確認します。

于 2011-10-05T10:12:21.933 に答える