2016-10-05 15 views
0

私は何時間も開いていて、フォアグラウンド通知が付いたバックグラウンドサービスを使用しています。音はもうプレイしないながら後android.media.Ringtone.play()は28再生後に動作を停止します

try { 
    Ringtone r = RingtoneManager.getRingtone(context, uri); 
    r.play(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

音が働いているが、:すべては、たまに音が使用して再生されます。
エラーは発生せず、警告もクラッシュも発生しません。ただの音。

ユーザーが不満を表明しているため、デバイス固有の問題のようには見えません。

Android Docsこれについては何も言及していません。 これはなぜ誰でも知っていますか?

+0

着信音の代わりにMediaPlayerを使用してみましたか? ここのようなもの: http://stackoverflow.com/questions/12832634/android-mediaplayer-play-ringtone-one-time – Tomek

+0

はい、私の解決策は私の答えを参照してください。 –

答えて

0

BroadcastReceiverで着信音やMediaPlayerを作成しないでください!

問題は、着信音やMediaPlayerのコンテキストでした。放送受信機のサウンドをトリガすることによって、再生されるたびに新しいMediaPlayerまたは着メロが作成されました。 28回後、サウンドはもう再生されませんでした。

IntentSericeからサウンドを再生したり、MediaPlayerや着信音の静的インスタンスを再利用することで、すべてが期待どおりに再生されました。

関連する問題