1

「http://myserver.com/master.m3u8」のようなストリーミングURLを使用しています。(これはダミーのURLです)
このURLは、iPhoneのサファリブラウザで正常に再生されています。
しかし、次のコードを使用してアプリ内で同じものを再生すると、いくつかの問題に直面しています。

NSURL* theURL = [NSURL URLWithString:@"http://myserver.com/master.m3u8"];

MPMoviePlayerViewController* moviePlayerViewController  = [[MPMoviePlayerViewController alloc] initWithContentURL:theURL];
moviePlayerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;        
[self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];

アプリ内で再生するときの問題は、しばらくすると画面が黒色に変わることです。しかし、私はまだ音声を聞くことができます。
問題がどこにあるかをデバッグするにはどうすればよいですか。

同様の問題に直面した私を誰かが助けてくれますか?

4

1 に答える 1

0

標準のm3u8ファイルを作成する場合、ビデオの最も低いバージョンには、オーディオのみのバージョンのストリームが含まれます。したがって、帯域幅が低すぎる場合、プレーヤーはこのストリームに切り替えてオーディオのみを再生できます。

これが発生したときにアプリで意味のあることを行うための解決策はまだ見つかりません(たとえば、ビデオを一時停止し、帯域幅がビデオを含むストリームの次の上位バージョンを再生するのに十分になるまで待機します)が、微調整できる場合m3u8またはエンコードプロセスでは、m3u8からオーディオのみのバージョンを削除できます。次に、プレーヤーは最も低いビデオストリームに切り替えて、帯域幅がそれを表示するのに十分でない場合は一時停止します。

ストアにアプリを送信するときは、これをアプリレビューチームに提供する必要があることに注意してください。これは、AppleのこのテクニカルQAで言及されています:HTTPライブストリーミングのAppStore承認問題の解決

注:ベースラインの最大64 kbpsオーディオのみのHTTPライブストリーム要件は、特にセルラーネットワークを介したストリーミング用であるため、アプリケーションがWi-FiのみのHTTPライブストリーミングに自己制限されており、ベースライン64kbpsオーディオを提供しないことを選択した場合-ストリームのみ。この情報をAppReviewチームに提供する必要があります。開発者は、この情報をアプリケーションの[レビューノート]フィールドに含めることができます。

于 2013-02-13T13:03:22.130 に答える