안녕하세요.

 

웹페이지에 있는 동영상을 웹뷰를 통해 구현하고 싶습니다.

 

방법이 있을가요......... ㅜㅜ

 

좋은하루 되시구요...... 답변 부탁 드리겠습니다.

 

감사합니다.

 

 

 

 

소스 *************************************************

 

  webView.getSettings().setBuiltInZoomControls(true);
  webView.getSettings().setSupportZoom(true);
  webView.getSettings().setJavaScriptEnabled(true);
  webView.getSettings().setPluginsEnabled(true);
  webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
  webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
  
  webView.setWebChromeClient(new CustomWebChormeClient(this));

  webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
  webView.loadUrl("동영상이 들어있는 URL);

 

 

 

 

 private class CustomWebChormeClient extends WebChromeClient{
  
  public ProgressDialog mProgress;
  public Context mContext;
  public Boolean mBoolProgressCheck = false;  
  
  @Override
  public Bitmap getDefaultVideoPoster() {
   // TODO Auto-generated method stub
   return super.getDefaultVideoPoster();
  }

  @Override
  public View getVideoLoadingProgressView() {
   // TODO Auto-generated method stub
   return super.getVideoLoadingProgressView();
  }

  @Override
  public void getVisitedHistory(ValueCallback<String[]> callback) {
   // TODO Auto-generated method stub
   super.getVisitedHistory(callback);
  }

  @Override
  public void onCloseWindow(WebView window) {
   // TODO Auto-generated method stub
   super.onCloseWindow(window);
  }

  @Override
  public void onConsoleMessage(String message, int lineNumber,
    String sourceID) {
   // TODO Auto-generated method stub
   super.onConsoleMessage(message, lineNumber, sourceID);
  }

  @Override
  public boolean onCreateWindow(WebView view, boolean isDialog,
    boolean isUserGesture, Message resultMsg) {
   // TODO Auto-generated method stub
   return super.onCreateWindow(view, isDialog, isUserGesture, resultMsg);
  }

  @Override
  public void onExceededDatabaseQuota(String url,
    String databaseIdentifier, long currentQuota,
    long estimatedSize, long totalUsedQuota,
    QuotaUpdater quotaUpdater) {
   // TODO Auto-generated method stub
   super.onExceededDatabaseQuota(url, databaseIdentifier, currentQuota,
     estimatedSize, totalUsedQuota, quotaUpdater);
  }

  @Override
  public void onGeolocationPermissionsHidePrompt() {
   // TODO Auto-generated method stub
   super.onGeolocationPermissionsHidePrompt();
  }

  @Override
  public void onGeolocationPermissionsShowPrompt(String origin,
    Callback callback) {
   // TODO Auto-generated method stub
   super.onGeolocationPermissionsShowPrompt(origin, callback);
  }

  @Override
  public void onHideCustomView() {
   // TODO Auto-generated method stub
   super.onHideCustomView();
  }

  @Override
  public void onReachedMaxAppCacheSize(long spaceNeeded,
    long totalUsedQuota, QuotaUpdater quotaUpdater) {
   // TODO Auto-generated method stub
   super.onReachedMaxAppCacheSize(spaceNeeded, totalUsedQuota, quotaUpdater);
  }

  @Override
  public void onReceivedIcon(WebView view, Bitmap icon) {
   // TODO Auto-generated method stub
   super.onReceivedIcon(view, icon);
  }

  @Override
  public void onReceivedTitle(WebView view, String title) {
   // TODO Auto-generated method stub
   super.onReceivedTitle(view, title);
  }

  @Override
  public void onReceivedTouchIconUrl("WebView view, String url,
    boolean precomposed) {
   // TODO Auto-generated method stub
   super.onReceivedTouchIconUrl("view, url, precomposed);
  }

  @Override
  public void onRequestFocus(WebView view) {
   // TODO Auto-generated method stub
   super.onRequestFocus(view);
  }

  @Override
  public void onShowCustomView(View view, CustomViewCallback callback) {
   // TODO Auto-generated method stub
   super.onShowCustomView(view, callback);
  }
  
  /****************************************************************************************/
  public CustomWebChormeClient(Context context){
   this.mContext = context;
  }

  @Override
  public boolean onJsBeforeUnload(WebView view, String url,
    String message, JsResult result) {
   // TODO Auto-generated method stub
   return super.onJsBeforeUnload(view, url, message, result);
  }

  @Override
  public boolean onJsConfirm(WebView view, String url, String message,
    JsResult result) {
   // TODO Auto-generated method stub
   return super.onJsConfirm(view, url, message, result);
  }

  @Override
  public boolean onJsPrompt(WebView view, String url, String message,
    String defaultValue, JsPromptResult result) {
   // TODO Auto-generated method stub
   return super.onJsPrompt(view, url, message, defaultValue, result);
  }

  @Override
  public boolean onJsTimeout() {
   // TODO Auto-generated method stub
   return super.onJsTimeout();
  }

  @Override
  public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
   
   return super.onJsAlert(view, url, message, result);
  }

  @Override
  public void onProgressChanged(WebView view, int newProgress) {
   Log.i("webview", String.valueOf(newProgress));

   if(mBoolProgressCheck == false){
    mProgress = new ProgressDialog( mContext );
    mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    mProgress.setMessage("로딩중 입니다");
    mProgress.show();
    mBoolProgressCheck = true;
   }
   
   final int prog = newProgress;
   
   Thread tList = new Thread(){
    public void run(){
     if(prog >= 100){
      mProgress.dismiss();
     }
    }
   };
   tList.start();  

   super.onProgressChanged(view, newProgress);
  }
  /****************************************************************************************/
 } 

 

 

 

    <WebView
        android:id="@+id/yu5t_webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

 

 

dl