アプリケーションがバックグラウンドになるまでオーディオ ストリーミングを再生しようとしています。
コードは次のとおりです。
var service;
if(isiOS4Plus()){
Ti.App.addEventListener('resumed',function(e){
if(service!=null){
if(winPlayer.controlStreamer)// if my controller (containing the audio player object) exists
{
//function that redeclare intervals and event listeners
winPlayer.controlStreamer.foregroundStreamer();
}
service.stop();
service.unregister();
}
});
Ti.App.addEventListener('pause',function(e){
if(winPlayer.controlStreamer)// if my controller (containing the audio player object) exists
{
//function that stop and remove intervals and event listeners
winPlayer.controlStreamer.backgroundStreamer();
}
service = Titanium.App.iOS.registerBackgroundService({url:'/player/sound.js'});
Ti.API.info("registered background service = "+service);
});
}
オーディオ プレーヤー オブジェクトは、このメソッドの前に初期化されます。
this.streamer=Titanium.Media.createAudioPlayer({url:this.url_stream_stetienne,bufferSize:1000000});
ここに私の問題があります:iOSシミュレーター(iOS 5.0)でアプリを実行すると、ストリームプレーヤーは再生を続けます(私が望むこと)が、iOSデバイス(iOS 5.0)でテストすると、音量が低下し、プレーヤーが停止します。
注: ファイル info.plist には、次の行が含まれています。
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
そして、イベントが正しくトリガーされ、処理されるというアラート ボックスが表示されるようになりました。