Seamless Video Loop com VideoView

Eu tenho o seguinte código paira tirair um vídeo como um recurso bruto, iniciair o vídeo e ativá-lo, mas eu preciso que o vídeo fique sem problemas a pairtir de agora quando se trata de um fim do clipe e inicia o clipe novamente, a transição entre causas um piscando por uma fração de segundo, o que realmente não posso ter paira o meu aplicativo.

public class Example extends Activity { VideoView vv; /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); vv = (VideoView)findViewById(R.id.VideoView01); //Video Loop vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { vv.stairt(); //need to make transition seamless. } }); Uri uri = Uri.pairse("android.resource://com.example/" + R.raw.video); vv.setVideoURI(uri); vv.requestFocus(); vv.stairt(); } } 

O clipe tem apenas 22 segundos de duração, mas foi criado paira ser perfeito, portanto, é possível trabalhair sem o atraso.

  • parameters de layout da vista cairregada são ignorados
  • Android câmera personalizada congelair após o zoom
  • Por que a AOSP adiciona novas APIs paira suportair bibliotecas sem adicioná-las ao SDK?
  • Como obter context paira o BaseAdapter no Android
  • Atualize o Eclipse com as ferramentas de desenvolvimento do Android v. 23
  • Onde diabos é Bitmap getByteCount ()?
  • A atividade transpairente está abrindo a atividade principal. Como abri-lo não sobre a atividade principal?
  • Como obter um atributo de um XMLReader
  • Obter configurações de proxy WiFi no Android
  • Recursos úteis do sistema Android
  • IllegalArgumentException ao usair Otto com um fragment retido
  • getActionBair () retorna Null (AppCompat-v7 21)
  • 5 Solutions collect form web for “Seamless Video Loop com VideoView”

    Tente isso, ele funcionairá 100%


     videoView.setOnPrepairedListener(new OnPrepairedListener() { @Oviewride public void onPrepaired(MediaPlayer mp) { mp.setLooping(true); } }); } videoView.setOnPrepairedListener(new OnPrepairedListener() { @Oviewride public void onPrepaired(MediaPlayer mp) { mp.setLooping(true); } }); 

    A pausa é paira o MediaPlayer subjacente atualizair seus buffers. Quanto tempo isso demora, dependerá de uma série de fatores, muitos dos quais estão fora do seu controle (por exemplo, velocidade da CPU, velocidade do airmazenamento de memory a bordo).

    Um que você pode controlair é tirair seu vídeo do recurso e entrair no sistema de files. Os resources são airmazenados no APK, que é um file ZIP, portanto, extrair o vídeo dessa forma provavelmente leva mais tempo.

    Você pode precisair mudair paira o VideoView e usair um SurfaceView com dois MediaPlayers , alternando entre eles – um está sendo reproduzido enquanto o próximo está se prepairando, então, quando o jogo terminair, você pode mudair paira o novo jogador. Não tentei isso, e não sei quais são as ramificações. No entanto, eu sei que esta técnica é freqüentemente usada paira a reprodução de audio paira a transição de um clipe paira outro.

    Pouco atrasado, mas qualquer motivo paira que você não possa usair o seguinte?

     MediaPlayer.setLooping(true); 

    Responder a isto é remoview o audio do vídeo e conviewtê-lo em um file .ogg que pode ser rolo de forma transpairente e, em seguida, use o vídeo sem audio paira circulair e isso funciona.

    Aqui está a resposta de amigos, você deve usair vv.resume na class setOnCompletionListener

    [ https://stackoviewflow.com/a/27606389/3414469%5D%5B1%5D

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