Animasyonlu bir video görüntüleme kullanıyorum (video.setAnimation (slideinRight);) Her şey, geçişte yalnızca videonun değil, yalnızca videview'in düzeninin hareketli olduğu durumlar dışında çalışır. Çeviri animasyonu gerçekleştiğinde, videomda bir kutu taşıma ve maske görüyorum ancak video hiç bir zaman hareket etmiyor. Şimdi ne yapacağım konusunda bir kayıp yaşıyorum.VideoGörünüm Animasyon
cevap
Maalesef :) üzerinde
Başkalarının geri bildirimde bulunmak için memnuniyet duyarım. ve sadece 'slayt' animasyonu kullanmak için arıyorsanız. Videonun görünümünü bir düzende ve düzeni canlandırmayı deneyin.
Kodumda oluşturduğum şekilde;
AbsoluteLayout Animationlayout = (AbsoluteLayout)findViewById(R.string.frontlayout);
VideoView pvv = new VideoView(getApplicationContext());
pvv.getHolder().addCallback(this);
Animationlayout.addView(pvv);
// load video data in pvv.
Sonra kaydırmak için videoview animasyon istediğiniz yere;
Animationlayout.animate().xBy(25).setDuration(500).setInterpolator(new BounceInterpolator());
Bu, 3.1 animasyon sistemi olduğunu unutmayın.
Klasik 2.1 tarzı animasyon yönteminin böyle çalışacağından emin değilsiniz, ancak aynı işlevi görmelidir.
Düzeni döndürme/ölçekleme gibi şeyler işe yaramaz. Mizanpajın etrafını çevirmek ve soldurmak, işe yarayan sadece birkaç şey gibi görünüyor. TextureView here üzerinde
Daha referansı:
Şu anda VideoView üzerinde animasyon yerleştirmeye çalışıyorum. Android kaynak kodu bakarsak
, VideoView oyuncunun devlet makinesinin temel bir yönetim ile, bir MediaPlayer ile birleştiğinde, temelde a SurfaceView olduğunu.
Aslında gerçek 'çizmek' iş VideoView en Biz farklı cihazlarda animasyonlar test ettik
(android cihaz üzerinde gerçek oyuncu motor uygulaması aka) MediaPlayer yerli yöntemlerle ele alınması görünüyor ve tespit altta yatan video oynatıcı davranışı/uygulama farklı Android cihazlar arasında aynı değildir:
- bazı cihazlar düzgün
- diğerleri YAPMAYIN ve sadece bulanıklığı, siyah ekran veya hatalı ekranı görüntülemek oyuncunun görünümü animasyonlar işlemek ..
Bunun üzerine, VideoView doğrudan belleğe yazılıyor gibi görünüyor, bu nedenle herhangi bir 'geçici çözüm' (önüne opak bir görünüm koyma ve bu görünümde bir animasyon ayarlama gibi) işe yaramıyor gibi görünüyor. Bu ancak buna değer ne için, oldukça geç bu cevaplanması için
Basitçe TextureView kullanın. TextureView üzerinde ZoomOut animasyon -
Ben Zoomin yaptık.>anim klasörü -
Res yılında animasyon xml ekleyin.zoom_in_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:duration="1000"
android:fillAfter="false"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.2"
android:toYScale="1.2" />
<set android:interpolator="@android:anim/decelerate_interpolator">
<scale
android:duration="1000"
android:fillBefore="false"
android:fromXScale="1.2"
android:fromYScale="1.2"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="500"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
</set>
texture_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextureView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textureView"
android:layout_margin="50dp"
android:background="@android:color/darker_gray"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</TextureView>
TextureViewActivity.java:
import android.graphics.SurfaceTexture;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Surface;
import android.view.TextureView;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import java.io.IOException;
public class TextureViewActivity extends AppCompatActivity implements TextureView.SurfaceTextureListener {
private TextureView textureView;
private MediaPlayer mMediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.texture_layout);
textureView = (TextureView)findViewById(R.id.textureView);
textureView.setSurfaceTextureListener(this);
textureView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animation zoomAnimation = AnimationUtils.loadAnimation(TextureViewActivity.this, R.anim.zoom_in_out);
textureView.startAnimation(zoomAnimation);
}
});
}
private String getVideoPath(){
return "android.resource://" + getPackageName() + "/" + R.raw.promovideo;
}
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) {
Surface surface = new Surface(surfaceTexture);
try {
mMediaPlayer= new MediaPlayer();
mMediaPlayer.setDataSource(TextureViewActivity.this, Uri.parse(getVideoPath()));
mMediaPlayer.setSurface(surface);
mMediaPlayer.prepare();
mMediaPlayer.start();
mMediaPlayer.setLooping(true);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
}
Tamam
- 1. animasyon
- 2. Bir perdenin açılması: Temel Animasyon ile Animasyon
- 3. Geçerli animasyon bloğunun animasyon süresini öğrenin
- 4. OpenGL'de Animasyon için Animasyon Animasyonundan Yararlanma
- 5. bir ui-yönlendirici durum değişikliği animasyon: animasyon
- 6. animasyon gecikmesi
- 7. Animasyon Etkinliği
- 8. Animasyon Android
- 9. mplot3d animasyon
- 10. Matplotlib Animasyon
- 11. Animasyon döngüsü
- 12. Java'da animasyon
- 13. Animasyon Dinleyici
- 14. Meteor Animasyon
- 15. Darbeli Animasyon
- 16. WPF Animasyon: Herhangi bir animasyon devam edip edilmediğini algıla?
- 17. Android alpha animasyonu: Animasyon tamamlandığında son animasyon karesinde kalıyor
- 18. UIView animasyon tamamlama bloğu, animasyon kesintiye uğradığında çağrılmadı
- 19. Sarma noktası söz konusu olduğunda, animasyon eklemeye nasıl animasyon ekleyebiliriz?
- 20. CSS3 Animasyon Tekrarla
- 21. Boolean Animasyon özelliği kilitler
- 22. Animasyon - görüntü ölçeğini
- 23. android animasyon listesini kullanarak
- 24. UIBezierPath - Dolgu animasyon
- 25. html css Gif Animasyon
- 26. WPF senkron animasyon
- 27. Yavaş animasyon 3.0
- 28. GroupTransform'da Trouble Animasyon Dönüşümleri
- 29. GWT DialogBox - animasyon
- 30. UITableView hücre ekle Animasyon
Bunun için herhangi bir çözüm bulabildiniz mi? –
Hayır, bizim uygulama için farklı bir tasarım uygulamak zorundaydık (VideoView taşıma değil, ama diğer parçaları hareket :-) Ancak, android 4.0 kod nasıl geliştiğini merak ediyorum. Ona bakmalıyız ... – Vinzzz
Bazı cihazların OpenGL'nin doğru desteğine sahip olmaması nedeniyle düşünüyorum. Bu durumda cihaz bulanık veya siyah ekran görüntülüyor –