2016-07-20 3 views
1

私のアプリでは、ユーザーはWeb経由でオーディオブックを再生するサービスにアクセスできます。私はこれを処理するためにUIWebViewを使用しています。UIWebViewのバックグラウンドオーディオ再生

アプリが終了するか、デバイスがスリープ状態になると、オーディオの再生が停止します。私はオーディオファイルを直接再生しないWebビューを表示しているだけなので、これらのメソッドをバックグラウンドで再生することはできません。

ただし、Safariアプリ経由で同じリンクにアクセスすると、電話がスリープ状態になった後でも音声が再生され続けます。私はどのように私のアプリで同じ効果を達成することができますか?

答えて

5

まず、あなたのInfo.plistにバックグラウンドオーディオ再生のためのアプリを有効にします。あなたはまだ行っていない場合は、のためにアプリを

<key>UIBackgroundModes</key> 
<array> 
    <string>audio</string> 
</array> 

Background Modes

Plist

を設定AppDelegateまたは他のクラスのオーディオ再生:

import AVFoundation 

// ... 

do { 
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
} catch { 
    // Handle setCategory failure 
    print(error) 
} 
+0

ありがとうs!それは私が "setCategory"部分を欠いていたようです。 –

+0

@JAL私は同じことをしていますappleはアプリケーションを拒否します*私たちのアプリはあなたのInfo.plistのUIBackgroundModesキーでオーディオのサポートを宣言していますが、永続的なオーディオを必要とする機能は含まれていません* –

関連する問題