2012-03-02 8 views
1

私はset.forを持っている特定の時間にオーディオファイルを再生しようとしていますが、私は、 "UIBackgroundModes" in info.plistとdidEnterBackground.ItsのbackgroundTaskidentifierで、シミュレータでは動作しますが、これを解決する。IPhoneの背景でオーディオを再生するには?

事前のおかげで...

+0

これを参照してくださいhttp://stackoverflow.com/questions/7619794/play-music-in-background-in-iphone-using-avaudioplayer/7619816#7619816 –

答えて

1

あなたはこのreference app with streaming and backgrounding of audioをチェックアウトすることができます。

編集:

添付ファイル付きのローカル通知の例。 。

- (void)applicationDidEnterBackground:(UIApplication *)application { 
    NSLog(@"Application entered background state."); 
    // bgTask is instance variable 
    NSAssert(self->bgTask == UIInvalidBackgroundTask, nil); 

    bgTask = [application beginBackgroundTaskWithExpirationHandler: ^{ 
     dispatch_async(dispatch_get_main_queue(), ^{ 
      [application endBackgroundTask:self->bgTask]; 
      self->bgTask = UIInvalidBackgroundTask; 
     }); 
    }]; 

    dispatch_async(dispatch_get_main_queue(), ^{ 
     while ([application backgroundTimeRemaining] > 1.0) { 
      NSString *friend = [self checkForIncomingChat]; 
      if (friend) { 
       UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
       if (localNotif) { 
        localNotif.alertBody = [NSString stringWithFormat: 
         NSLocalizedString(@"%@ has a message for you.", nil), friend]; 
        localNotif.alertAction = NSLocalizedString(@"Read Message", nil); 
        localNotif.soundName = @"alarmsound.caf"; 
        localNotif.applicationIconBadgeNumber = 1; 
        [application presentLocalNotificationNow:localNotif]; 
        [localNotif release]; 
        friend = nil; 
        break; 
       } 
      } 
     } 
     [application endBackgroundTask:self->bgTask]; 
     self->bgTask = UIInvalidBackgroundTask; 
    }); 

} 
+0

オーディオが再生されているのにiアプリケーションをバックグラウンドに入力した後でオーディオを再生したいと思っています。いずれか1つの方法を教えてください。 – Ann

+0

ユーザーはホームボタンをタップして右にスワイプするか、ロック画面から手動でオーディオコントロールを開始します。または、オーディオストリームではなく、サウンドクリップでローカル通知をスケジュールします。 – slf

+0

ありがとうございました..... – Ann

1

私が正しくあなたを理解していれば、あなたは、あなたのアプリがアクティブであり、その時点で前景化すると、特定の時間に関係なくサウンドを再生したいですか?あなたの唯一の(app review friendly)オプションは、slfの回答のようにローカル通知をスケジュールすることです。 UIBackgroundModesはあなたを助けません。オーディオバックグラウンドモードは、背景にあるときにコードを実行するためのモードです。は、前景にされたときにオーディオを再生するときだけです。使用例は音楽プレーヤーとラジオアプリです。

あなたのユースケースをより徹底的に説明すれば、より良い回答が得られるかもしれません。

関連する問題