clu*_*clu 10 android-mediaplayer android-4.4-kitkat
我的应用程序在除Nexus 5之外的所有设备上都能正常播放音频.在Nexus 5上,MediaPlayer会随机停止播放.不确定4.4中关于Loudness(http://developer.android.com/about/versions/android-4.4.html#Multimedia)的变化是否已经破坏了.
还有其他人注意到这个问题吗?似乎发生在一些用户身上,但我无法在我自己的Nexus 5上重现.
更新:所以我能够在我的Nexus 5上重现这个问题.它似乎实际上发生在剪辑的末尾.在剪辑中剩余约1 - 5秒OnCompletionListener.onCompletion(),MediaPlayer调用该方法.这只发生在Nexus 5上,它随机发生在一些片段上.我几乎有30%的时间能够重现它.请注意,当剪辑提前完成时,如果我尝试返回并再次播放剪辑,则完成第二次完全播放剪辑.我知道Android 4.4刚刚发布,但希望有人可以提供帮助!谢谢.
更新:我已经针对Android提交了一个错误:https://code.google.com/p/android/issues/detail?id = 62304
好吧,我找到了解决方案.我不确定这是否是你现在所面临的问题,但它解决了我的问题.基本上,Android 4.4+引入了许多新的电源管理功能,其中之一包括在屏幕关闭时关闭CPU.从Android文档引用:
由于Android系统在设备休眠时尝试节省电池,因此系统会尝试关闭不必要的任何电话功能,包括CPU和WiFi硬件.但是,如果您正在播放服务或播放音乐,则需要防止系统干扰播放.
因此,如果没有CPU唤醒锁定,MediaPlayer将无法正常流式传输,导致它在剪辑完成之前停止播放.解决方案很简单:向MediaPlayer添加PARTIAL_WAKE_LOCK. 正如在Android上记录的:
mMediaPlayer = new MediaPlayer();
// ... other initialization here ...
mMediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
Run Code Online (Sandbox Code Playgroud)
我想我们中的一些人没有在文档中看到这一点.我不记得看到这个,所以也许只是添加了.无论如何,希望这可以解决每个人的问题!
| 归档时间: |
|
| 查看次数: |
7048 次 |
| 最近记录: |