일부 독서 시간을 절약 할 수 있습니다 .... 내 WEBVIEW에서 MP4 비디오를 재생하려고 시도 할 때 WEBVIEW BROWSER 내에서 비디오를 재생할 필요가 없습니다. 나는 완전히 그 일을하는 것처럼 네이티브 비디오 플레이어를 안드로이드 용으로 끄는 일부 코드로 정상적으로 처리됩니다. 보다 나은 해결책이 있다면 내 WEBVIEW를 수정하는 것만 큼 확실하게 여기는 것보다 더 나은 해결책이있는 것입니다.Android WebView에서 동적 mp4 비디오를 재생하는 방법
맨 먼저 Android 나 JAVA 개발자가 아닙니다. 그러나 코드를 제공하고 올바른 방향으로 나를 가리키면 대개 저에게 다가갑니다. 지난 4 년 동안 나는 상당한 회원이있는 사이트를 만들었습니다. www.GoLiVeFitness.com 및 www.GoLiveFitness.com/Mobile. 솔루션은 Asp.Net 솔루션입니다. 기본적으로 사용자가 4,800 개 이상의 무료 운동 동영상을 쉽게 검색 할 수있는 웹 사이트입니다. 우리는 훨씬 축소 된 버전이지만 훨씬 깨끗한 응용 프로그램의 모바일 버전을 만들었습니다. 모바일 웹 사이트에 스마트 폰 브라우저를 가리 키도록 사용자에게 계속 알려주지 않고 안드로이드 WebView를 사용하여 내장 된 html5 브라우저에 웹 사이트를로드하기로 결정했습니다 (이 말을 제대로하지 않으면 용서해주십시오).
나는 webview를 완료하고 사이트를 완벽하게로드합니다. 나는 Droid Charge에 배치 할 수 있었고 사이트는 webview를 통해 완벽하게로드되었습니다. 여기에 문제가 있습니다 .... 저장 프로 시저를 포함한 모든 유형의 T-SQL에서 쿼리 및 가져 오는 동적 비디오는 웹보기에서 재생되지 않습니다. 재생 버튼을 클릭하면 재생 버튼이 시작될 수도 있지만 결코 재생되지 않는 것처럼 보입니다. 나는 매우 빨리 내가 그런 식으로 처리하기에 충분한 코드가 내 webview에 없다고 결정했다. 다시 말하지만, 몇 개의 비디오를 하드 코딩해도 작동하지 않습니다. 이 사이트는 4,800 개가 넘는 비디오를 가지고 있습니다. 사용자는 예를 들어 다리를 입력하고 130 개의 다리 연습 문제를 다시 얻을 수 있습니다. 그런 다음 이름 링크를 터치하고 동영상을 재생하여 하나를 선택할 수 있습니다. **** 그래서 내 질문은 WebView 브라우저에서 mp4 형식의 비디오를 재생할 수있게하는 방법입니다. 나는 여기서 작동 할 수도있는 해결책을 보았으나 코드를 작동시키기에 충분하지 않습니다. 내가 원하는 것은 누군가가 WebView와 함께 코드를 수정하는 것을 도울 수 있다는 것입니다. 시도했을 때 나는 많은, 많은, 많은 오류를 받았습니다. 따라서 WebView 브라우저에서 실행되는 WebView 코드를 먼저 붙여 넣은 다음 다른 사람이 작동하도록 변경해야하는 내용을 알려주기를 희망하는 솔루션 코드를 붙여 넣습니다. 주의 : 도움이된다면 올바른 코드를 보여줘야 할 것입니다. 다시 한 번, 나는 이것에 아주 새롭다.
내 GoLiveFitnessActivity.java 파일의 WebView 코드에있는 코드 ---- package golivefitness.mob; How to play a video in a webview with android?
public class InredisChromeClient extends WebChromeClient implements OnCompletionListener, OnErrorListener {
private InterfazWebInredis interfazWeb; // Use Your WebView instance instead
private VideoView mCustomVideoView;
private LinearLayout mContentView;
private FrameLayout mCustomViewContainer;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
private LinearLayout mErrorConsoleContainer;
static final FrameLayout.LayoutParams COVER_SCREEN_GRAVITY_CENTER = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT, Gravity.CENTER);
public InredisChromeClient(InterfazWebInredis iwi) {
super();
this.interfazWeb = iwi;
}
public void onShowCustomView(View view, CustomViewCallback callback) {
// super.onShowCustomView(view, callback);
if (view instanceof FrameLayout) {
mCustomViewContainer = (FrameLayout) view;
mCustomViewCallback = callback;
mContentView = (LinearLayout) interfazWeb.findViewById(R.id.mainContainer);
if (mCustomViewContainer.getFocusedChild() instanceof VideoView) {
mCustomVideoView = (VideoView) mCustomViewContainer.getFocusedChild();
// frame.removeView(video);
mContentView.setVisibility(View.GONE);
mCustomViewContainer.setVisibility(View.VISIBLE);
interfazWeb.setContentView(mCustomViewContainer);
mCustomVideoView.setOnCompletionListener(this);
mCustomVideoView.setOnErrorListener(this);
mCustomVideoView.start();
}
}
}
public void onHideCustomView() {
if (mCustomVideoView == null)
return;
// Hide the custom view.
mCustomVideoView.setVisibility(View.GONE);
// Remove the custom view from its container.
mCustomViewContainer.removeView(mCustomVideoView);
mCustomVideoView = null;
mCustomViewContainer.setVisibility(View.GONE);
mCustomViewCallback.onCustomViewHidden();
// Show the content view.
mContentView.setVisibility(View.VISIBLE);
}
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
mCustomViewContainer.setVisibility(View.GONE);
onHideCustomView();
interfazWeb.setContentView(mContentView);
}
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
interfazWeb.setContentView(R.layout.main);
return true;
}
}
장치 재고 브라우저로 모바일 사이트를 탐색하면 비디오가 재생됩니까? – FoamyGuy
http://meta.stackexchange.com/a/129787/142802 –
동영상은 브라우저에서 브라우저를 사용하여 golivefitness.com/mobile로 이동하면 내 드로이드 충전 및 내 친구 드로이드에서 놀랍습니다. 로그인 및 옙 ... 모든 비디오가 재생됩니다. 당신이 원하면 시험해 볼 수 있습니다. 나는 그것이 webview에서 같은 방식으로 작동하지만 외관상으로는 알지 못했다. 그러나 브라우저에서 네이티브 비디오 플레이어가 시작되었으며 우리는 완전히 괜찮습니다. – user1380537