[JAVA][ANDROID] Kontrola video


(master of disaster) #1

Witam, mam sobie taki krótki fragment kodu który odtwarza vido:

private void play(){



		String path = "/storage/sdcard/Download/video.wmv";



        videoView = (VideoView) findViewById(R.id.VideoView);



        videoView.setVideoPath(path);



        videoView.requestFocus();



        videoView.start();



    }







    public void onCreate(Bundle savedInstanceState) {



        super.onCreate(savedInstanceState);



        setContentView(R.layout.activity_main);



        play();



    }

Działa. Teraz potrzebuję zatrzymywać film w pewnych zdefiniowanych (np. w tablicy, ale to nie jest istotne) momentach czasowych np. pauza w 3 sekundzie, jak i wznawiać odtwarzanie.

Teraz jak najlepiej jest te dwie funkcjonalności stworzyć?

P.S. strasznie głupio się teraz wrzuca kod tu na forum, na co te odstępy między liniami..?


(klemensior15) #2

Nie programuję w Javie ani pod Androida, ale np. 

  • w metodzie play po start(), dodać pętlę while, która będzie sprawdzać czy czas_trwania ( getCurrentPosition() ) = pożądany moment jeśli tak to pause(), potem w zależności od woli resume(), aż do skończenia wideo ( getDuration () ) 

Obydwie te metody zwracają inta ( getCurrentPosition() i  getDuration ()  ).

Więcej tu: 

http://developer.android.com/reference/android/widget/VideoView.html


(master of disaster) #3

Wydaje mi się że taki zwykły while nie może być… będzie on zabierał wszystkie cykle procesora. Przydałby sie albo jakiś listener isPlaying, albo jakiś osobny wątek na sprawdzanie czasu. Czy jest ktoś obeznany kto by mi w tym pomógł ?

edit: Dobra zrobiłem osobny wątek na razie działa, ale videoView.getCurrentPosition nie jest do końca dokładne.

Pozdrawiam