2012-11-09 15 views
5

मैं एक एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं जहां मैं यूआरएल से कुछ वीडियो गतिशील रूप से खेलना चाहता हूं। इसलिए मैंने लेआउट में एक वेब व्यू डाला और एक एचटीएमएल फाइल देखी जिसमें jwplayer कोड है लेकिन jwplayer वहां नहीं है, और वेब व्यू केवल "प्लेयर लोड हो रहा है ...." दिखा रहा है। मैं समझ नहीं पा रहा हूं कि समस्या कहां है।एंड्रॉइड ऐप में jwplayer का उपयोग नहीं कर सकता

मेरे यहाँ

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

कुछ कोड होगा VideoView code तारीफ़ लें। – meh

+0

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

+0

बाहरी साइटों से लिंक करने के बजाय आपको यहां कोड को अतीत करना चाहिए। – Qben

उत्तर

2

यू कोड नीचे उल्लेख कर सकते हैं और it..i इस उदाहरण मदद आशा यू को यह से बाहर है ..

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; 
     } 
    });