안녕하세요.
웹페이지에 있는 동영상을 웹뷰를 통해 구현하고 싶습니다.
방법이 있을가요......... ㅜㅜ
좋은하루 되시구요...... 답변 부탁 드리겠습니다.
감사합니다.
소스 *************************************************
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