Articles of live wallpaper

Android动态壁纸 – OpenGL与Canvas

我是一个相当“新手”的Android开发人员,我希望我的第一个项目之一是动态壁纸,但是我是否应该关注Canvas或OpenGL是否存在冲突。 作为新手,我知道我应该首先掌握Canvas,因为它更容易使用,但我更喜欢从我感兴趣的现实世界项目中学习,即使它有时有点倒退。 我之前以非常基本的方式使用过这两种方式,并且我理解它们的一般概念,但我不确定它们是如何转移到动态壁纸的领域。 我认为在动态壁纸上不需要OpenGL的全速运行,因为以最大FPS运行它会比电池耗尽更多,但与此同时我担心使用Canvas会导致滞后和在做更换主屏幕等事情时会口吃。 我一直倾向于使用OpenGL ES 2.0,以保持性能最佳,因为我对壁纸的初步想法涉及很多分层,我不确定Canvas是否有能力,但我想要一个更有经验的开发人员意见是否或者不是所有与使用OpenGL相关的额外工作(特别是关于动态壁纸,从我读过的内容)是值得的。

java.io.IOException:setDataSource failed:status = 0x80000000

我正在尝试使用媒体播放器在活动中播放url: mediaPlayer = MediaPlayer.create(getApplicationContext(), Uri.parse(“http://www.pocketjourney.com/downloads/pj/video/famous.3gp”), holder); 它工作正常。 我使用相同的代码将它设置为WallpaperService中@onSurfaceCreated的动态WallpaperService ,它给了我以下错误日志 D/MediaPlayer( 4128): create failed: D/MediaPlayer( 4128): java.io.IOException: setDataSource failed.: status=0x80000000 D/MediaPlayer( 4128): at android.media.MediaPlayer._setDataSource(Native Method) D/MediaPlayer( 4128): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:844)D/MediaPlayer( 4128): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:806)…… 如果我使用本地videouri设置动态壁纸..工作正常。 这里有什么想法/建议吗?

TouchWiz不会调用onOffsetsChanged

注意:由于这是三星特有的问题,我也在开发板上提问。 我目前正在Android中实现一个dynamic壁纸,我正在听我的壁纸引擎中的onOffsetsChanged()方法来改变壁纸,当用户滑过他的主屏幕。 这对我的私人银河标签与CM9自定义ROM伟大的作品。 在我的公司设备上,一个股票银河S3,它不工作。 不知何故,当主屏幕被改变时,Touchwiz不会调用onOffsetsChanged。 谷歌search的主题没有产生任何重大的结果,除了这个应用程序的描述,其中的开发指出:“固定滚动最新的TouchWiz启动onOffsetsChanged()不被调用。 现在我只想联系开发者,但不幸的是它也是一个三星应用程序。 有没有人知道一个解决方法来获得当前的偏移而不依赖于onOffsetsChanged? 有没有人遇到这个问题在自己的壁纸? 有谁知道这是故意的还是假设未来的Touchwiz版本会再次使用该方法?

android.media.audiofx.Visualizer每隔一段时间都会抛出exception

我正在为Android 2.3.3制作dynamic壁纸,并使用Visualizer类。 我已经有一个工作版本的Visualizer程序作为一个独立的工作,但是当我把代码放入一个Live Wallpaper服务时,我的问题就开始了。 以下代码是错误存在的地方: // Called in my Engine extension's constructor public void setupVisualizer() { mBytes = null; mVisualizer = new Visualizer(0); // EDIT mVisualizer.setEnabled(false); // This fixes the issue // END EDIT mVisualizer.setCaptureSize( Visualizer.getCaptureSizeRange()[1]); // IllegalStateException Thrown mVisualizer.setDataCaptureListener() { public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate) { updateVisualizer(bytes); } public void onFftDataCapture(Visualizer […]

在纵向模式下“修复”dynamic壁纸

我试图find“肖像”模式下修复我的dynamic壁纸的“最简单的方法”,至于现在,我发现的唯一方法是将整个canvas逆时针旋转90度,并将其“向下”移动设备处于横向模式时的屏幕宽度大小。 但是这个解决scheme不能很好的工作,我认为这是不利的(因为我在不同的位置有很多的位图)。 有没有人find一个更简单和有效的解决scheme来人为修复一个dynamic壁纸在一个方向模式?

在Android上硬件加速FFmpeg?

我为Android编译了FFmpeg的老版本(如果我记得正确它是0.6.X)。 FFmpeg解码video帧,缩放它,然后使用OpenGL在屏幕上绘制它。 据我所知,问题是解码和缩放 – 他们不是硬件加速。 我的问题是: ARM(Android)处理器的最新FFmpeg硬件版本是否已加速? 我是否以错误的方式去做这件事? 即,有没有更好的方法来做到这一点? 凡“这个”播放h264高清video作为一个video的dynamic壁纸—帧率需要高,所以硬件加速是可取的,只要可用。

dynamic壁纸在预览模式

在预览模式下(“设置”和“设置”屏幕),我需要使用墙纸进行不同的操作。 我怎么知道什么时候在那里?

如何为Androiddynamic壁纸创build设置活动

如何在这样的dynamic壁纸中创build设置活动? 示例图片 我只用简单的文本构build了设置活动,并且遇到了一些问题。 第一个问题是我不能使用布局XML文件进行这个活动。 第二:当我尝试编程构build该活动时,我无法将目录设置为系统图标( drawable/ic_menu_more )。 另外我将需要使用SeekBar。 我会很高兴,如果你帮我=)

如何从应用移动到dynamic壁纸预览?

我一直在寻找一个具体的例子,无法在任何地方在网上find它。 我想要做的是:从我的应用程序点击一个button,移动到我的应用程序dynamic壁纸的dynamic壁纸预览,使用户可以select激活它。 现在我已经在线阅读,我将使用WallpaperManager的 ACTION_CHANGE_LIVE_WALLPAPER与EXTRA_LIVE_WALLPAPER_COMPONENT指向我的LiveWallpapers组件名称。 这是我迄今为止的代码。 有人知道我在做什么错了吗? 到目前为止,我单击button,什么也没有发生…(我login,它实际上是达到这个代码)。 Intent i = new Intent(); i.setAction(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER); i.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, "com.example.myapp.livewallpaper.LiveWallpaperService"); startActivity(i); 如果你需要更多的信息,我忘记发布让我知道。 *我也知道这是API 16+,这只是我的情况,当手机是API 16 +

Androiddynamic壁纸 – OpenGL与canvas

我是一个相当“新手”的Android开发人员,我希望我的第一个项目之一是一个dynamic壁纸,但是我是否应该专注于Canvas或OpenGL的冲突。 对于这个新手我知道我应该首先掌握Canvas,因为它更容易使用,但是我更喜欢从我感兴趣的真实世界的项目中学习,即使它有时候会稍微向后一点。 我以前用过非常基本的方法,而且我理解了他们的一般概念,但是我不确定他们是如何转移到dynamic壁纸的领域的。 我认为,在dynamic壁纸上不需要OpenGL的全速度,因为在最大FPS下运行它将会超出所需的电量,但是同时我担心使用Canvas会导致滞后当做像改变主屏幕一样的东西时会出现口吃。 我一直倾向于使用OpenGL ES 2.0,以保持性能最佳,因为我最初的壁纸想法涉及很多分层,我不确定Canvas是否有能力,但我想要一个更有经验的开发人员的意见是否或者不是所有使用OpenGL的额外工作(特别是关于dynamic壁纸,从我读过的)都是值得的。