Sony Ericsson Xperia X10'da Android 2.3'te (PowerAmp dahil çeşitli oynatıcılar kullanarak) müzik çalmaya çalıştığımda güvenilir ses alamıyorum. Müzik kısa bir süre duraklar, örneğin:
- Güç düğmesine basıyorum (özellikle tekrar tekrar) (
request_suspend_state: sleep;request_suspend_state: wakeup
dmesg'de) send sigkill to 15497 (ndroid.settings), adj 8, size 6428
Dmesg'de olduğu gibi mesajlar gördüğümde- Bazı program değişen ekran yönüne tepki gösterdiğinde.
- Wifi bağlantısı kurulduğunda, onu "yeniden birleştirmeye" zorladığımda
- WidgetLocker ekranına / ekranından hariç, ana ekrandan (AWDLauncher) uygulamaya / uygulamadan gittiğimde.
- Uçak Modunu etkinleştirdiğimde / devre dışı bıraktığımda.
- Ekran kapalıyken (en sinir bozucu)
Müzik çalmanın gerçekten kararlı bir yolu, ekranı zorlamak, Wi-Fi'yi kapatmak, Uçak Modunu açmak ve uygulamaları değiştirmemek için StayAwake kullanmaktır. CPU domuzlarını başlatmak, kesmeyi while true; do true; done
etkilemez.
Ve Android 2.1'de az çok iyi oynuyordu.
"mediaserv" işlemi (/ dev / msm_pcm_out'a yazan) gerçek zamanlı io ve zamanlama önceliğine sahiptir, ancak ses yine de kesik kesiktir. Konsoldan mplayer -ao pcm:file=/dev/msm_pcm_out
ses kesme ile daha az oynatmaya başlarsam (özellikle güç düğmesi / ağır işlem demetlerinin yüklenmesi ile kesintiye uğramaz), ancak ekran kapalıyken hala normal davranmaz (hatta ionice -c1 -p4 cat /dev/urandom > /dev/msm_pcm_out
dalgalı)
A müziğini her zamanki gibi başlattığımda ve mplayer kullanarak / dev / msm_pcm_out (karışık hale getirme) müzik B'yi başlattığımda A normalden daha fazla pirzola ve genellikle A pirzoladayken B'yi duyuyorum. Ekranı kapattığımda, hem A hem de B kesiliyor (B'yi durdurmak A'nın bu şekilde daha akıcı şekilde oynatılmasına neden oluyor).
Android'de arka plan yükü varlığında güvenilir bir şekilde müzik nasıl çalınır? Bir yerde bir hata rapor etmeli miyim?
Güncelleme Müzik çalmanın bir yolunu buldu. Uygunsuz, ancak doğramadan :
- WakeLock'u "CPU açık, Ekran Kapalı, Klavye kapalı" modunda başlatın
- Android'i atlayarak müzik çalmak için mplayer kullanın:
ionice -c1 -n4 \
schedtool -R -p 3 -e \
mplayer -really-quiet \
-af volume=-26 -quiet \
-ao pcm:file=/dev/msm_pcm_out,nowaveheader \
/mnt/sdcard/music/something.ogg
# (created script to start it easily, of course)
Ne kadar uygulama başlattığım önemli değil, Wifi, yönlendirme ve uçak modlarıyla ne olursa olsun doğramadan oynar. "Powersave" cpufreq valisi ile bile (her şey çok yavaş, ama müzik iyi oynuyor). Yani donanımın oynatmak için yeterli kaynağı var.
Güncelleme 2 Yapıyor gibi görünüyor
for i in `pgrep ''`; do schedtool -D $i; done
yani, "tüm işlemler için Boşta önceliğini ayarla", oyunlarda bazı giriş gecikmeleri pahasına {programları başlat, ekranı kilitle, ekranı döndür; Neden olduğunu tam olarak bilmiyorum.