2017-09-22 16 views
0

バックグラウンドでHLSストリームファイルをダウンロードしたい。iOSバックグラウンドHLSストリームをダウンロード

私は最初にm3u8ファイルをダウンロードし、それを解析して多くのURL(約30〜200)を取得します。その後、私はバックグラウンドセッションを作成します。最後に、すべてのURLについて、NSURLSeessionDownloadTaskを作成し、次のタスクを作成し、前のタスクを完了した後にダウンロードします。

アプリがフォアグラウンドにあるときはうまく動作します。しかし、バックグラウンドでは、それは停止し、現在のタスクが完了した後に新しいタスクを作成しません。

だから、どうやってバックグラウンドでURLをダウンロードできますか? (私はアプリをアクティブに保つためにバックグラウンドで音楽を演奏するのは良い考えだとは思わない)

+0

あなたのアプリのInfo.plistファイルに適切なバックグラウンドモードが指定されていますか? https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html – dgatwood

+0

確かに、「ネットワークからのアプリケーションダウンロードコンテンツ」モードを使用します。 – kunjinkao

+0

あなたが実際にHLSストリームの場合、おそらく "オーディオ"モードが必要です。それは、私はこれが問題だとは思わないと言いました。私はこれがエクステンションや何か(別のplist)で起こっていないと仮定しています.... – dgatwood

答えて

0

ダウンロードが開始されたら、私はすべてのタスクを作成しようとしたが、うまくいくようだ。

+0

わずかな部分しかない限り、大丈夫です。ある時点では、アプリが誤動作する(実際にダウンロードが遅い、IIRC)という問題が、1つのセッションで多すぎるタスクに陥るという問題が発生することがあります。私は正確なポイントがどこにあるのかは分かりませんが、人々がそれに遭遇したことはわかります。 – dgatwood

関連する問題