2012-11-09 18 views
5

Bazı videoları dinamik olarak bir URL'den oynatmak istediğim bir Android uygulaması geliştiriyorum. Bu yüzden bir web görünümünü mizanpaja koydum ve jwplayer kodunu içeren bir html dosyası görüntüledim ama jwplayer orada değil ve web görünümü sadece "Player yükleniyor ..." gösteriliyor. Sorunun nerede olduğunu anlayamıyorum.Bir Android uygulamasında jwplayer kullanılamıyor

burada

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Window; 
import android.webkit.WebChromeClient; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Toast; 

public class VideoActivity extends Activity { 
/** Called when the activity is first created. */ 
WebView sampleWeb; 
String htmlText; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.web); 

    sampleWeb=(WebView)findViewById(R.id.webView); 
    WebSettings webSettings=sampleWeb.getSettings(); 

    sampleWeb.getSettings().setJavaScriptEnabled(true); 
    sampleWeb.getSettings().setBuiltInZoomControls(false); 

    sampleWeb.getSettings().setLoadsImagesAutomatically(true); 

    sampleWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    sampleWeb.getSettings().setAllowFileAccess(true); 
    sampleWeb.getSettings().setPluginsEnabled(true); 
    sampleWeb.setWebViewClient(new WebViewClient()); 


    // sampleWeb.loadUrl("m.google.com"); 
    htmlText="<!DOCTYPE html> "; 
    htmlText+="<html lang='en'>"; 
    htmlText+="<head><meta charset='utf-8'>"; 

    htmlText+="</head>"; 
    htmlText+="<body style='margin:0; pading:0;background-color: #ffffff;'>"; 
    htmlText+="<div style='color:black'>Loading the player ...</div>"; 
    htmlText+="<script type='text/javascript' src='http://shourav.com/android/jwplayer.min.js'></script>"; 

    htmlText+="<div id='mediaspace'>This text will be replaced</div>"; 

    htmlText+="<script type='text/javascript'>"; 
    htmlText+="jwplayer('mediaspace').setup({"; 
    htmlText+="'flashplayer': 'http://developer.longtailvideo.com/svn/trunk/fl5/player.swf',"; 
    htmlText+="'file': 'http://shourav.com/android/android.MP4',"; 
    // htmlText+="'streamer': 'rtmp://b27i9s9t3.rtmphost.com/AndroidMedia',"; 
    htmlText+="'controlbar': 'bottom',"; 
    htmlText+="'width': '200',"; 
    htmlText+="'height': '150'"; 
    htmlText+="});"; 
    htmlText+="</script>"; 

    htmlText+="</body>"; 
    sampleWeb.loadData(htmlText, "text/html", "utf-8"); 

} 

}

+0

Bazı kod olur Benim VideoView code Takdir edilmek – meh

+0

http://pastebin.com/874jHFLG – shourav

+0

Kodu harici sitelere bağlantı vermek yerine buraya yapıştırmanız gerekir. – Qben

cevap

2

U kodunun altına başvurabilir ve it..i u için bu işten bu örnek yardımı umut ediyoruz ..

private void createVideoHtml(File flvDirectory, File htmlFile, String videofilename) 
{ 
    String htmlPre = "<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></head><body style='margin:0; padding:0;'>"; 
    String htmlCode = 
      "<script type='text/javascript' src='"+ flvDirectory.getAbsolutePath() + "/jwplayer.js'></script>" + 
      "<div id='mediaspace'>EZ Stream TV FLV Player</div>" + 
      "<script type='text/javascript'>" + 
      "jwplayer('mediaspace').setup({" + 
      "'flashplayer': '"+ flvDirectory.getAbsolutePath() + "/player.swf', 'file': '" + videofilename + "', 'backcolor': 'FFFFFF', 'frontcolor': '000000', 'lightcolor': '000000'," + 
      "'screencolor': '000000', 'volume': '100', 'autostart': 'true', 'mute': 'false', 'quality': 'false', 'controlbar': 'bottom', 'width': '100%', 'height': '100%'," + 
      "events: { " + 
      "onComplete: function() { alert('COMPLETED');}" + 
      "}});" + 
      "</script>"; 
    String htmlPost = "</body></html>"; 
    String finalHTML = htmlPre + htmlCode + htmlPost; 

    try { 
     FileWriter f = new FileWriter(htmlFile); 
     PrintWriter p = new PrintWriter(f); 
     p.print(finalHTML); 
     p.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

webView = (WebView)findViewById(R.id.web_player); 
    webView.getSettings().setBuiltInZoomControls(false); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setLoadsImagesAutomatically(true); 
    webView.getSettings().setPluginsEnabled(true); 
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.setInitialScale(60); 
    webView.setBackgroundColor(Color.BLACK); 
    getWindow().addFlags(128); 
    webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)"); 
    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 

    webView.setWebChromeClient(new WebChromeClient() { 
     @Override 
     public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result) 
     { 
      Log.d(TAG, message); 
      new AlertDialog.Builder(view.getContext()).setMessage(message).setCancelable(true).show(); 
      result.confirm(); 
      return true; 
     } 
    }); 
İlgili konular