2012-01-21 17 views
1

ナビゲーションコントローラで別のビューをプッシュするビューを持っています。この2番目のビューでは、iPodアプリケーションのように、ユーザーが最初のビューに戻っても2番目のビューをポップしても、再生を続けるオーディオを再生します。どうやってやるの?iOSでViewControllerが表示されなくてもメソッドを続行

答えて

1

実際に関連する機能ではないので、あなたのオーディオをあなたのView Controllerから抽象化する必要があります。私はシングルトンオブジェクトを作成することをお勧めします。これは、指定された曲を再生し、一時停止/停止し、状態を取得する(isPlayingなど)機能です。私は、他のスタックオーバーフローポストと素早いグーグルサーチが結果をもたらすので、シングルトンがどのようなものか/作り方に深く関わることはしませんが、基本的な前提は、クラスを作成してこのメ​​ソッドを追加することです。

+ (id)sharedInstance 
{ 
    static dispatch_once_t dispatchOncePredicate = 0; 
    __strong static id _sharedObject = nil; 
    dispatch_once(&dispatchOncePredicate, ^{ 
     _sharedObject = [[self alloc] init]; 
    }); 
    return _sharedObject; 
} 

次に、あなたがそうのような方法で作成することができます。

+ (void)playSongWithFile:(NSString *)fileName 
{ 
    // retrieve the file and play it 
} 

を、あなたのシングルトンオブジェクトを#IMPORTした任意のクラスから、あなたが呼び出すことができます。

[[MySingleton sharedInstance] playSongWithFile:@"awesomesong.mp3"]; 

シングルトンオブジェクトを私あなたのアプリケーションが実行されている間は一度しかインスタンス化されずに "生き続ける"ことができるオブジェクトなので、View Controllerで何が起こっているかにかかわらず、あなたが言うことを続けます。

+1

答えをありがとう!あなたが私のポストを投票すると、私は評判でlvl 15を取得し、あなたの投稿を投票することもできます。 –

関連する問題