まず、私はこれが類似した目的のCベースの質問のコピーであると理解しますが、回答はありませんでした。MonoTouchのAVPlayerでバックグラウンドオーディオを再生しますか?
私のアプリのオーディオにAVPlayerを使用しています。オーディオセッションを正しく設定しています(アプリケーション内でオーディオトラックを再生するとステータスバーに再生アイコンが表示され、マルチタスクドックのプレーヤートランスポートコントロールの横にアプリアイコンが表示されます)。しかし、ホームボタンを押すと、バックグラウンドで再生を続けることができません。音楽はただ消えて止まります。
私は私のするinfo.plistで次のキーがあります。
AVAudioSession audioSession = AVAudioSession.SharedInstance();
NSError error;
audioSession.SetCategory(AVAudioSession.CategoryPlayback.ToString(),out error);
audioSession.SetActive(true,out error);
UIApplication.SharedApplication.BeginReceivingRemoteControlEvents();
int taskID = 0;
taskID = UIApplication.SharedApplication.BeginBackgroundTask(delegate
{
if(taskID !=0)
{
UIApplication.SharedApplication.EndBackgroundTask(taskID);
taskID = 0;
}
});
PlaylistManager = new ApolloPlaylistManager();
AudioPlayer = new AVPlayer();
ない私はそのBeginBackgroundTask部品が必要な場合は必ず、それ:再生を扱う私のクラスで
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
を、私は持っていますそのinまたはout、実際に私はそれを必要としないことをかなり確信している場合は動作しません。私は
あなたのプログラムでは、上記のコードはどこに置かれていますか? –
AudioPlaybackManagerというオーディオ再生を管理するクラス内にあります(奇妙なことに、)AppContextと呼ばれるSingletonクラスのプロパティで、AppDelegateに存在します。 FinishedLaunching()メソッド内から初期化されます。 – Dermot