こんにちは、バックグラウンドで実行する MediaPlayer インスタンスが必要なので、サービスの使用を開始しました。
すべて正常に動作しますが、UI が完全に動作していても、しばらくすると ANR (アプリケーションが応答しません) が発生します。サービスがまだメイン スレッドで実行されていることはわかっているので、ANR は理にかなっています。
そこで、独自のスレッドを生成する IntentService を使用してみましたが、頭痛の種しかありませんでした。ワーカーが独立している場合、IntentService は問題ないように見えますが、トラックを変更する必要があるたびにメイン アプリから startService(intent) メソッドを呼び出す必要があり、複数の MediaPlayer インスタンスで終了したくないため、ここではそうではありません。お互いの上で遊ぶ..
また、サービス内でスレッドを使用することを示唆するヒントも見ました。Media Player でそれを行うにはどうすればよいですか? 宣言はそのスレッドにあるべきですか、それとも単に「準備/開始など」にあるべきですか? 私が見たものから、それはうまくいかないようですが、間違って実装しただけかもしれません
おそらく非常に単純な例で、ヒントは非常に高く評価されます。
乾杯