2011-01-06 6 views
12

Jak otworzyć zdalny adres URL pliku wideo za pomocą przycisku? Kliknij, aby odtworzyć w wewnętrznym MediaPlayer bez konieczności otwierania okna przeglądarki?Android Help: Jak otworzyć zdalny adres URL pliku wideo do odtworzenia w MediaPlayer bez konieczności otwierania okna przeglądarki?

Film jest świetny, ale zawsze otwiera okno przeglądarki 1, co jest denerwujące.

To jest to, czego już używam, ale czy możliwe jest uruchomienie odtwarzacza multimediów bez pierwszej aplikacji otwierającej okno przeglądarki.

nadzieję, że ktoś może pomóc

Dzięki Lucy

final Button button = (Button) findViewById(R.id.play); 
    button.setOnClickListener(new Button.OnClickListener() { 
     public void onClick(View v) { 
      // Perform action on click 
      Uri uri = Uri.parse("http://domain.com/videofile.mp4"); 
      Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

      startActivity(intent); 

      } 

    }); 
} 

Odpowiedz

10

spróbuj dodać typ MIME do Intent. Teraz prowadzisz do przeglądarki, która wykonuje numer HTTP HEAD, określa typ MIME, a następnie kieruje go do właściwej aplikacji. Jeśli umieścisz w sobie typ MIME, powinno to pominąć krok przeglądarki.

+0

Dziękuje, proszę mógłbyś mi pokazać jak kodować go do powyższe, nie jestem do końca pewien, jak to zrobić, dziękuję ci tak bardzo, Lucy – lucy

+1

@lucy: 'Intent intent = new Intent (Intent.ACTION_VIEW); intent.setDataAndType (uri, "..."); 'gdzie' ... 'to typ MIME MP4 (' video/mp4', być może) – CommonsWare

+0

@CommonsWare Użyłem w ten sposób: Intent intent = new Intent (Intent. ACTION_VIEW); \t \t \t \t \t intent.setDataAndType (Uri.parse ("https://javmed-prod.s3.amazonaws.com/63351db3788f4393b49d4d701181c7c7.mp4"), "/ wideo MP4"); \t \t \t \t \t StartActivity (zamiar); .. i dostał ActivityNotFound ... próbował także "wideo/*" ... jakiś pomysł Sir? – MKJParekh

21

Spróbuj tego:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse(videoPath), "video/mp4"); 
startActivity(intent); 
+1

Z jakiegoś powodu podział funkcji setDataAndType() na 2 wiersze nie działa dla mnie: intent.SetData (Uri.parse (videoPath)); intent.SetType ("wideo/mp4"); ... nie jest to wielka sprawa, ale pomyślałem, że wspomnę o tym na wypadek, gdyby ktoś inny miał ten sam problem. –

1

trzeba ustawić typ videoUrl i MIME (video/mp4) na intencji, tj:

String videoUrl = "http://videosite/myvideo.mp4"; 
Intent playVideo = new Intent(Intent.ACTION_VIEW); 
playVideo.setDataAndType(Uri.parse(videoUrl), "video/mp4"); 
startActivity(playVideo); 
+0

@Brad Odtwarzanie wideo w ten sposób działa dla mnie. Ale mam przypadek, że chcę dodać dodatkowe nagłówki do zapytania HTTP. Dodaję viewIntent.putExtra (Browser.EXTRA_HEADERS, pakunek), ale dodaje tylko nagłówek podczas używania setData() zamiast setDataAndType(). Moim pomysłem jest, że chcę odtwarzać wideo, ale do tego serwer musi autoryzować mnie przy użyciu nagłówków w zapytaniu http ... – Balflear

Powiązane problemy