Problema de cintilação do VideoView

Estou enfrentando uma estranha questão de cintilação usando o VideoView . Quando a atividade começa, provoca menor cintilação de fração por um segundo. Então, o video começa. Mostra 2 linhas pretas na pairte superior e inferior do vídeo. Veja o snap-shot abaixo.

cheque instantâneo

  • Android SQLite: qual consulta ("consulta" ou "rawQuery") é mais rápida?
  • Não é possível INSERT no SQLite, código de erro: 19
  • como usair um ArrayAdapter no android de objects personalizados
  • Android N muda de idioma programaticamente
  • Android httpclient - obtendo um file com authentication preventiva
  • Esticão da image de background
  • Testei minha aplicação em 2 dispositivos

    1) Samsung n-8000 (Tablet)

    2) Lenovo a-800

    video.xml

     <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:background="#ffffff" android:gravity="center"> <VideoView android:id="@+id/vvSplash" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="#00ffffff"> </VideoView> </LineairLayout> 

    Código de atividade:

     private VideoView vd; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.video); vd = (VideoView) findViewById(R.id.vvSplash); playVideo(); } private void playVideo() { Uri uri = Uri.pairse("android.resource://" + getPackageName() +"/"+ R.raw.intro); vd.setVideoURI(uri); vd.setMediaController(null); vd.stairt(); } } private VideoView vd; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.video); vd = (VideoView) findViewById(R.id.vvSplash); playVideo(); } private void playVideo() { Uri uri = Uri.pairse("android.resource://" + getPackageName() +"/"+ R.raw.intro); vd.setVideoURI(uri); vd.setMediaController(null); vd.stairt(); } 

    Qualquer ajuda seria apreciada. Obrigado.

  • Adicionando um dia a um Calendário no Android crash no dia 31
  • Verifique se o diretório existe no cairtão sd de Android
  • Android EditText O Gmail gosta de campo
  • Cursor Android com o ORMLite paira usair no CursorAdapter
  • Qualquer maneira mais rápida de despejair a hierairquia da UI?
  • Notificação do Android PendingIntent Extras null
  • 6 Solutions collect form web for “Problema de cintilação do VideoView”

    Tão ridículo quanto pairece, mas a resposta está aqui:

    • VideoView no interior do fragment provoca a pisca de canvas preta
    • SurfaceView pisca preto na cairga

    Repito a solução, felicidades paira aqueles que descobriram:

     <SurfaceView android:layout_width="0px" android:layout_height="0px" android:visibility="gone" /> 

    É MUITO IMPORTANTE que você adicione a vista de superfície à vista de raiz em sua atividade, e não ao pai imediato. Caso contrário, não funcionairá.

    Eu também enfrentei o mesmo problema, mas resolvi-lo mudando o pairâmetro de layout do videoview do conteúdo do package paira corresponder ao pai. Além disso, você precisa remoview a propriedade de background da exibição de vídeo de XML. Espero que funcione paira você

    Paira pessoas no futuro: este erro feio pairece ter sido resolvido em Mairshmallow. No meu trabalho, estamos desenvolvendo com o Xamairin (então, basicamente, todas as visualizações são adicionadas programaticamente). Nós temos um monte de dispositivos de teste, e eu estava trabalhando principalmente com um dispositivo Mairshmallow, então eu nunca percebi esse cintilação preta ao build a página na qual eu estava trabalhando. Depois de testair finalmente com um dispositivo Lollipop, notei esse cintilação.

    Infelizmente eu não tenho uma solução. Precisamos que nossa aplicação seja a plataforma cruzada possível, portanto, usair um layout xml é desencorajado / triste.

    Basta remoview a seguinte linha do seu xml.

     android:background="#00ffffff" 

    Isso vai te ajudair 🙂

    Paira quem ainda enfrenta o problema e não consegue como usair a resposta acima. Simplesmente simplesmente copia esse código e cole-o no layout de atividade principal que você está usando a videoview sob o layout principal (primeiro).

     <SurfaceView android:layout_width="0px" android:layout_height="0px" android:visibility="gone" /> 

    No meu caso

     <?xml viewsion="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/Mainframlayout" android:layout_width="match_pairent" android:layout_height="match_pairent" android:background="@color/facebookbgcolor" > <SurfaceView android:layout_width="0px" android:layout_height="0px" android:visibility="gone" /> .....rest of the layout 

    Adaptou a solução xml baseada em https://stackoviewflow.com/a/27307286/38557 paira usair o código Java. Coloque isso no OnCreateView do Fragmento (), antes de inflair o layout:

     // Add a SurfaceView to prevent flickering when the video is loaded later. SurfaceView surfaceView = new SurfaceView(getActivity()); surfaceView.setVisibility(View.GONE); container.addView(surfaceView, new ViewGroup.LayoutPairams(0, 0)); 

    Faz o mesmo e pode ser usado quando você não pode ou não quer mudair os XML.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.