SORU
28 EYLÜL 2010, Salı


Web görünümü ve HTML5 <video>

"Bizim" bazı web siteleri Oldukça basit video vurdum. kadar WebViewClient ile... çerçeveler, diğer şeyler arasında uyduruk bir app parçaları birleştirmeye çalışıyorum

Videoyu HTML5 öğeleri olarak yapılır, ve bu iş çok güzel Chrome, iPhone ve kodlama sorunları hallettik şimdi yerel tarayıcı Android üzerinde büyük... ... işe yarıyor.

Şimdi asıl problem web görünümü sevmiyor. Hiç. Üzerinde poster görüntüsünü açar ve hiçbir şey olmuyor.

Googling, bulunur, ama bir temel gibi görünüyor 'link' (a...) gibi bir video yerine element. http://www.codelark.com/2010/05/12/android-viewing-video-from-embedded-webview/ buldum (onDownloadListener video öğeleri...) çağrılan görünmüyor

Ben de ağır basan onShowCustomView için başvurular bakın, ama bu video öğeleri olarak değil gibi görünüyor... ne de.. shouldOverrideUrlLoading

Tercih etmem al içine "Çek xml sunucu, yeniden bu uygulamayı".. tuttuğun hikaye düzeni sunucu, ben kontrol içeriği biraz daha zorlamadan, insanları tutmak için bir güncelleştirme app. Eğer web görünümü ana tarayıcı gibi etiketleri işlemek için ikna edebilirsem, bu en iyisi olur.

Açıkça ortada.. ben bir şey eksik ama ne bilmiyorum.

CEVAP
7 EKİM 2010, PERŞEMBE


Birisi okumak ve sonucu ilgileniyor diye bu konuda cevap veririm. Bir web görünümü içinde bir video eleman (video html5 tag) görmek mümkündür, ama birkaç gün için onunla uğraşmak zorunda kaldığımı söylemeliyim. Bu takip etmek çok uzak kaldım adımlar şunlardır:

-Düzgün kodlanmış bir video

-Web görünümü başlatılırken, JavaScript ayarlayın, eklentileri, WebViewClient ve WebChromeClient.

url = new String("http://broken-links.com/tests/video/"); 
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebChromeClient(chromeClient);
mWebView.setWebViewClient(wvClient);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.loadUrl(url);

-Kolu WebChromeClient içinde onShowCustomView nesne.

@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
    super.onShowCustomView(view, callback);
    if (view instanceof FrameLayout){
        FrameLayout frame = (FrameLayout) view;
        if (frame.getFocusedChild() instanceof VideoView){
            VideoView video = (VideoView) frame.getFocusedChild();
            frame.removeView(video);
            a.setContentView(video);
            video.setOnCompletionListener(this);
            video.setOnErrorListener(this);
            video.start();
        }
    }
}

-Tanıtıcı web görünümüne geri almak için video onCompletion ve onError olaylar.

public void onCompletion(MediaPlayer mp) {
    Log.d(TAG, "Video completo");
    a.setContentView(R.layout.main);
    WebView wb = (WebView) a.findViewById(R.id.webview);
    a.initWebView();
}

Ama şimdi hala önemli bir sorun var diyebilirim. Sadece bir kez oynayabilirsiniz. İkinci kez tıklayın video dağıtıcısı (ya da poster veya bazı Yürüt düğmesi), hiçbir şey yapmaz.

Ayrıca video Medya Oynatıcı penceresi açmak yerine web görünümü çerçevesi içinde oynamak istiyorum, ama bu benim için ikincil bir konudur.

Birileri yardımcı olur umarım, ve de herhangi bir yorum veya öneri, teşekkür ederim.

Saludos, terrícolas.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bratayley

    Bratayley

    30 Aralık 2010
  • Damian Winter

    Damian Winte

    27 ŞUBAT 2007
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009