根據其他問題android-video-as-a-live-wallpaper,在動態壁紙中播放視頻的唯一方法是自己解碼它嗎?VideoView在動態壁紙?
11
A
回答
1
0
只是想在盒子外面,是否有可能採取工作的視頻播放器,並重新在Android的Java窗口下它?我沒有在Linux或Android上這樣做過,但是在Windows下,可以獲得正在運行的應用程序的窗口句柄,並使其成爲Java框架的子句,其結果是其他應用程序的窗口看起來像是它的Java部分應用。
+0
真的不知道... – 2014-01-25 10:02:10
2
只需使用MediaPlayer而不是VideoView,並使用MediaPlayer.setSurface而不是MediaPlayer.setDisplay。如果使用setDisplay,則MediaPlayer會嘗試告訴SurfaceHolder保持LiveWallpapers不允許的屏幕,並且會引發錯誤。
我用的WebM/vpx8視頻但這應該與任何MediaPlayer的支持工作(只是把資源的視頻文件/ RAW)
package com.justinbuser.nativecore;
import android.media.MediaPlayer;
import android.service.wallpaper.WallpaperService;
import android.view.SurfaceHolder;
import com.justinbuser.android.Log;
public class VideoWallpaperService extends WallpaperService
{
protected static int playheadTime = 0;
@Override
public Engine onCreateEngine()
{
return new VideoEngine();
}
class VideoEngine extends Engine
{
private final String TAG = getClass().getSimpleName();
private final MediaPlayer mediaPlayer;
public VideoEngine()
{
super();
Log.i(TAG, "(VideoEngine)");
mediaPlayer = MediaPlayer.create(getBaseContext(), R.raw.wallpapervideo);
mediaPlayer.setLooping(true);
}
@Override
public void onSurfaceCreated(SurfaceHolder holder)
{
Log.i(TAG, "onSurfaceCreated");
mediaPlayer.setSurface(holder.getSurface());
mediaPlayer.start();
}
@Override
public void onSurfaceDestroyed(SurfaceHolder holder)
{
Log.i(TAG, "(INativeWallpaperEngine): onSurfaceDestroyed");
playheadTime = mediaPlayer.getCurrentPosition();
mediaPlayer.reset();
mediaPlayer.release();
}
}
}
0
我已經試過了賈斯汀·布塞解決方案,這是行不通的(測試在API 16設備上)也在https://github.com/thorikawa/AndroidExample/tree/master/MovieLiveWallpaper/上找到了類似的代碼;它也不起作用。 唯一的解決方案似乎是使用FFMPEG和NDK。例如:https://github.com/frankandrobot
相關問題
- 1. 動態壁紙Android?
- 2. Android動態壁紙
- 3. Android動態壁紙
- 4. AngEngine動態壁紙
- 5. Android動態壁紙動畫
- 6. Android動態壁紙崩潰在配置壁紙
- 7. Android動態壁紙指導
- 8. Android動態壁紙問題
- 9. 與MainActivity動態壁紙
- 10. android的動態壁紙
- 11. 動態壁紙的onTouchEvent
- 12. WebView作爲動態壁紙?
- 13. 動態壁紙教程
- 14. Android動態壁紙:waitForCondition(ReallocateCondition)
- 15. Android動態壁紙 - onOffsetsChanged
- 16. 優化動態壁紙
- 17. 動態壁紙與圖像
- 18. 單獨的動態壁紙
- 19. 創建幀動畫在動態壁紙
- 20. 動態文字動態壁紙
- 21. 可以設置壁紙本身的動態壁紙?
- 22. 在Android動態壁紙觸摸事件
- 23. 動態壁紙啓動時崩潰
- 24. 動態壁紙中的定期動作
- 25. 動態壁紙中心或滾動
- 26. 動態壁紙預覽模式
- 27. Android的listview動態更改壁紙
- 28. 動態壁紙水漣漪效應
- 29. OpenGL中的單ImageView動態壁紙Android
- 30. 攔截動態壁紙觸摸事件?
謝謝你,我知道我已經建立了相應的ikaruga2教程。關鍵是,教程,這實際上是非常非常好的,留下了一些問題打開,其中之一是音頻... LISA – 2014-01-19 19:14:30
你還需要音頻?這是一個很大的挑戰。閱讀文檔(我知道音頻有點不穩定),你可能會有想法。 您必須認爲,例如,音頻可能也會被其他資源使用,並且這對於管理它來說是相當複雜的任務。祝你好運,我希望你成功。 P.S.我想你知道這將是非常耗電的應用程序,對吧? – MayTheSchwartzBeWithYou 2014-01-20 19:27:10
是的,這是一個挑戰......這就是爲什麼我正在尋找替代方法。不管怎麼說,還是要謝謝你! LISA – 2014-01-20 19:59:57