1

次のコードを使用して、mp4ファイルをhttpサーバーからiPhoneにストリーミングしようとしています。

 - (IBAction)streamMovie:(id)sender 
{

    NSURL *url = [NSURL URLWithString:trailerPath];


    if ([self.movieController respondsToSelector:@selector(setAllowsAirPlay:)]) 
        [self.movieController.moviePlayer setAllowsAirPlay:YES];

    [self.movieController.moviePlayer setContentURL:url];
    [self presentMoviePlayerViewControllerAnimated:self.movieController];
    [self.movieController.moviePlayer play];
}

これはシミュレーターでは正常に機能しますが、私のiPhoneデバイス(iOS 5.1を搭載した3GS)ではまったく機能しません。ムービープレーヤーはポップアップするだけで、すぐに消えます。もう一度試すと、このログエントリが表示されます。

An instance 0x1c5a20 of class AVPlayerItem was deallocated while key value observers
were still registered with it. Observation info was leaked, and may even become
mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to 
stop here in the debugger. Here's the current observation info:

私は何を間違っているのですか、そしてなぜこれがシミュレーターで機能するのですか?

4

1 に答える 1

0

私はついに、デバイスには問題がないことを知りましたが、httpサーバーには問題がありました。間違ったMIMEタイプ(video/mp4ではなくtext/html)を送信したため、デバイスはそれを正しく解釈できませんでした。だから私はサーバーにMIMEタイプを追加する必要がありました、そして今それは魅​​力のように機能します

于 2012-09-06T08:53:34.783 に答える