use*_*443 7 android live-wallpaper
我想把视频作为动态壁纸.我正在使用媒体播放器.我可以获得SurfaceHolder,我可以将该持有者交给媒体播放器.但它不适合我,它给我以下例外
LogCat异常详细信息
ERROR/AndroidRuntime(302): java.lang.UnsupportedOperationException: Wallpapers do not support keep screen on
Run Code Online (Sandbox Code Playgroud)
如果我不给媒体播放器的持有者它的工作原理,但我只能听到音频.我看到一个应用程序VideoLiveWallpaper,它将视频设置为动态壁纸,所以它可能,我可能会遗漏一些东西.我正在粘贴代码,对此的任何帮助将不胜感激.
代码片段
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mp=MediaPlayer.create(getApplicationContext(), R.raw.sample);
mp.setDisplay(holder);
mp.start();
}
Run Code Online (Sandbox Code Playgroud)
代替使用,**mediaPlayer.setDisplay(surfaceHolder)**
您可以使用**mediaPlayer.setSurface(surfaceHolder.getSurface())**
..
与属性KeepScreenOn不会产生任何类型的冲突。
NJOY .. :)
我的猜测是,当前流通的视频动态壁纸使用了完全不同的方法:手动解码媒体并逐帧绘制。我不认为这个问题可以用你的简单方法来解决——否则更多的人已经这样做了。
我假设您有此参考资料,但以防万一:http://forum.xda-developers.com/showthread.php ?t=804720 明确提及不同的视频格式使我相信开发人员正在进行自己的解码。 ..祝你好运,乔治
归档时间: |
|
查看次数: |
7337 次 |
最近记录: |