2012-10-04 1 views
0

Я пытаюсь добавить анимацию gif на камеру в Android. Идея состоит в том, чтобы сделать анимацию частью видео, которое снимается камерой телефона (что-то вроде дополненной реальности).Воспроизведение GIF-файла по просмотру камеры

Я пробовал 2 варианта.

  1. Добавить GIF на камеру, используя http://droid-blog.net/2011/10/14/tutorial-how-to-use-animated-gifs-in-android-part-1/.

    С этого мне нужно будет развивать все это в родной андроида

  2. Использование библиотеки третьей стороны, как QCAR https://developer.qualcomm.com/mobile-development/mobile-technologies/augmented-reality.

    Я был в состоянии создать анимацию над маркером, но в моем случае мне нужна анимация, доступная без маркера, что-то вроде нажатия кнопки.

Неужели кто-нибудь попытался достичь аналогичной функциональности (добавив анимацию в видео или фотографии, нажав на камеру)? Каков хороший подход к достижению этого?

+0

вы можете Pls поделиться, как вы решили эту проблему. Я столкнулся с подобной проблемой. Посмотрите http://stackoverflow.com/questions/12800352/android-play-video-on-an-inflated-view – png

ответ

0

не был в состоянии найти очень плавный способ запуска GIF на cameraview, как это, но преобразование GIF в серию изображений и анимация с использованием AnimationDrawable класса сделал трюк

//sample code to animate 3 bitmaps (frameBitmaps) 

AnimationDrawable myAnimation = new AnimationDrawable(); 
frameBitmapDrawable = new BitmapDrawable(frameBitmap); 
myAnimation.addFrame(frameBitmapDrawable, 225); 
frameBitmapDrawable2 = new BitmapDrawable(frameBitmap2); 
myAnimation.addFrame(frameBitmapDrawable2, 225); 
frameBitmapDrawable3 = new BitmapDrawable(frameBitmap3); 
myAnimation.addFrame(frameBitmapDrawable3, 225); 
myImageView.setBackgroundDrawable(myAnimation); 
myAnimation.start(); 
1

Ваш первый подход не будет работать, потому что я думаю, что Movie использует SurfaceView, например Camera, и невозможно отобразить два SurfaceView друг над другом.
Я думаю, что лучший способ справиться с этим - использовать WebView над Camera SurfaceView.
Таким образом вы можете загрузить строку, содержащую базовую структуру HTML, включая gif в WebView.