この問題は iPad でのみ発生します。iPhone でも同じことが期待どおりに機能します。
UIWebView でアプリケーションから URL を開いています。URL が通常の Web ページの場合は、期待どおりに正常に動作します。ただし、URL がリモート ビデオ/オーディオ ファイルの URL の場合は、UIWebView はデフォルトのプレーヤーを開きますが、これも問題ありません。
ここで、UIWebView を閉じると (プレーヤーの [完了] ボタンをクリックして)、ストリーミングは停止せず、オーディオ/ビデオはバックグラウンドで再生され続けます (見えませんが、バックグラウンドで再生され続け、聞くことができます)。Web ビューが作成された UIViewController も割り当て解除されます (dealloc メソッドにログ ステートメントを配置しました) が、ストリーミングは停止しません。
なぜこのようなことが起こるのか、誰か教えていただけませんか? また、UIWebView が閉じられているときにオーディオ/ビデオのストリーミングを停止するにはどうすればよいですか?
ありがとう。
ベストアンサー1
述べたのと同じ問題がありますが、この場合、再生が停止しないビデオは、object/embed メソッドを使用して埋め込まれた YouTube ビデオです。
ビデオの再生を停止する方法を見つけるのに長い時間を費やしましたが、私が見つけた唯一の解決策は、ビューを閉じる前に空白ページを読み込むように UIWebView に指示することでした。
[self.webContent loadRequest:NSURLRequestFromString(@"about:blank")];
編集(2015-05-12): @chibimai が以下のように述べているように、alloc_iNitによるこの回答も同様の方向で機能しますしかし、私の回答は 5 年前のもの、彼の回答は 4 年前のものなので、リンクされた回答の方が当てはまるかもしれません。私はもう iPhone 開発の仕事はしていないので、どちらが優れているかは判断できません。