0

私はいくつかのmp3ファイルをPhoneGapアプリに再生するための小さな楽しいアプリケーションを作成しています.StackOverflowの助けのおかげで、バックグラウンドでオーディオを再生できました.

しかし、問題は、アプリがバックグラウンドで実行されている場合、またはアプリがロックされている場合、次の曲が再生されないことです。次の曲を再生するコードを書きました

=======

$(".greyselected").each(function(i) {
if($(this).is(":visible"))
{
activetrackclass = $(this).attr("class").split(" ")[0];
return;
}
});


$("." + activetrackclass).each(function(i){
if($(this).hasClass("greyselected"))
{
fetchmp3($("." + activetrackclass + ":eq(" + parseInt(i+1) + ")").find(".partistname").text(), $("." + activetrackclass + ":eq(" + parseInt(i+1) + ")").find(".ptrackname").text(), $("." + activetrackclass + ":eq(" + parseInt(i+1) + ")").find(".ptrackurl").text(), $("." + activetrackclass + ":eq(" + parseInt(i+1) + ")").find(".spanduration").text(), "tracklist");

$("." + activetrackclass).removeClass("greyselected");
$("." + activetrackclass + ":eq(" + parseInt(i+1) + ")").addClass("greyselected");

$("#divplayer").slideDown("slow");
return false;
}
});

=======

grayselected は現在再生中の曲です activetrackclass はトラック アイテムまたはトラック div のクラスを保持する変数です fetchmp3 はリスト内の次の mp3 ファイルを呼び出す関数です

すべての mp3 はサーバーでホストされています

アプリがアクティブなときは問題なく再生されますが、バックグラウンドになるとすぐに、アクティブに再生されていた曲を再生し、アプリが再び表示されるまで停止します

いつものようにあなたの貴重な助けに感謝します

4

1 に答える 1

0

バックグラウンド タスクは一定期間のみ実行され、その後 OS によって強制終了されます。アプリケーションがアクティブでない場合、アプリケーションは永久に実行されず、ios はしばらくするとアプリケーションを停止します。

http://www.macworld.com/article/1164616/how_ios_multitasking_really_works.html

ファイル内でaudioモードを指定することにより、バックグラウンド再生のサポートを宣言できます。詳細については、 iphone プログラミング ガイドの60 ページを確認してください。UIBackgroundModesInfo.plist

アプリケーションがネイティブ コードを使用できる場合、オーディオの動作を構成するための多くのオプションがあります。Categories Express Audio Roles以下のドキュメントで確認してください。

http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007875

Apple Developer Forum の古いスレッド

https://devforums.apple.com/message/264397#264397

于 2012-07-05T17:00:54.667 に答える