バックグラウンドで音楽をストリーミングしようとすると、アプリで問題が発生し、一部のデバイスでのみ発生します。
アプリがフォアグラウンドで音楽を再生すると問題なく動作しますが、一部のデバイスでは、電源ボタンを押すとすぐにストリームの品質が失われます (低速のインターネット接続を使用しているときのように見えます)。画面をオンにすると、ストリームが再び良くなります。
私はすでに試しましWakeLocks
たが、うまくいきませんでした。
編集1:これは私がウェイクロックを使用した方法です:
OnCreate
私の活動の:
//Setting the wakelock
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
そして、音楽が始まったときにこれを行うよりも:
wl.acquire();
ストリームが停止すると、次のようになります。
if(wl.isHeld()){
wl.release();
}
編集2:
これも試しました:
mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
編集3:
WiFiロックも試してみました:
//Setting the proper lockMode depending on the android version:
int wifiLockMode = WifiManager.WIFI_MODE_FULL;
int sdkVersion = Build.VERSION.SDK_INT;
//WIFI_MODE_FULL_HIGH_PERF was added on Android 3.1 so
//I need to implement this to make sure the wifi will execute on its full power(even if it consumes more battery)
if (sdkVersion >= Build.VERSION_CODES.HONEYCOMB_MR1) {
wifiLockMode = WifiManager.WIFI_MODE_FULL_HIGH_PERF;
}
//Setting the WifiLock
WiFiManager wm = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
WifiLock mWiFiLock = wm.createWifiLock(wifiLockMode, "MyFlag");
mWiFiLock.acquire();
//Releasing the WifiLock
if(mWiFiLock.isHeld()){
mWiFiLock.release();
}
WifiLockで少しはマシになりそうです(というか、途切れる音に慣れてきました)
何か案は?