我希望索尼的工程师会在http://developer.sonymobile.com/about/how-do-i-get-in-contact/中看到这一点。 :)
我们有一个使用服务保留的MediaPlayer实例播放音频内容的应用。在我们测试过的所有其他制造商的设备上,事情按预期工作。然而,对于一系列Xperia设备,我们收到了用户的报告,并且观察到自己,当设备未连接电源时,音频内容通常会过早切断。我们不确定原因,并且没有得到logcat的任何线索,除了以下内容,我们不确定:
delay_us exceeds max timeout:59996570 us
和
Event 5 was not found in the queue, already cancelled?
有什么想法吗?如果需要,我们可以提供更多信息。
非常感谢。
修改
public class MyAudioPlayer extends Service {
private MediaPlayer mPlayer;
private void setupMediaPlayer() {
if (mPlayer != null) {
mPlayer.reset();
mPlayer.release();
}
mPlayer = new MediaPlayer();
mPlayer.setOnCompletionListener(completionListener);
mPlayer.setOnErrorListener(errorListener);
mPlayer.setVolume(100, 100);
}
void setupAudio(String path, int position, boolean shouldPlay, boolean updateWidgetsAndNotification) {
if (path == null || new File(path).exists() == false) {
Log.e(TAG, "File doesn't exist!!!");
}
if (mPlayer == null) {
setupMediaPlayer();
} else {
if (isPlaying()) {
mPlayer.stop();
}
mPlayer.reset();
}
try {
mPlayer.setDataSource(path);
mPlayer.prepare();
} catch (Exception e) {
Log.d("ERROR:", e.toString());
}
if (shouldPlay) {
mPlayer.start();
startForeground();
} else if (updateWidgetsAndNotification) {
updateWidgetsAndNotification();
}
}
}
我正在使用Xperia Z3进行测试,其他一些团队成员正在使用其他Xperia设备 我们一定要禁用STAMINA模式。