Я создал веб-приложение в php, и я использую html5 плееры, которые поддерживают видео YouTube, а также «mediaelement and player», «plyr» и c, которые отлично работают в браузере, но когда я Создал веб-просмотр apk-видео не может воспроизвести вот мой код веб-просмотра
package com.subodhchem.subodhchem;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DownloadManager;
import android.content.Context;
import android.graphics.Bitmap;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.DownloadListener;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private WebView mywebView;
//Progressbar
private ProgressBar mProgressBar;
//Progressbar
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// checkConnection();
ConnectivityManager manager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = manager.getActiveNetworkInfo();
if(null == activeNetwork){
Toast.makeText(MainActivity.this, "No Internet Connection", Toast.LENGTH_SHORT).show();
}else {
mywebView = (WebView) findViewById(R.id.webview);
//Progressbar
mProgressBar = findViewById(R.id.progressBar);
mProgressBar.setMax(100);
//Progressbar
WebSettings webSettings = mywebView.getSettings();
webSettings.setJavaScriptEnabled(true);
//New Line
webSettings.setDomStorageEnabled(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setDisplayZoomControls(false);
webSettings.setSupportZoom(true);
webSettings.setDefaultTextEncodingName("utf-8");
mywebView.setWebViewClient(new WebViewClient() {
//Progressbar
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
mProgressBar.setVisibility(view.VISIBLE);
setTitle("Loading...");
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
mProgressBar.setVisibility(view.GONE);
setTitle(view.getTitle());
}
//Progressbar
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
view.loadUrl("about:blank");
Toast.makeText(MainActivity.this, "Network Error.", Toast.LENGTH_SHORT).show();
}
});
mywebView.loadUrl("https://myurl/sub/app");
mywebView.setWebChromeClient(new WebChromeClient());
mywebView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
DownloadManager.Request myRequest = new DownloadManager.Request(Uri.parse(url));
myRequest.allowScanningByMediaScanner();
myRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
DownloadManager myManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
myManager.enqueue(myRequest);
Toast.makeText(MainActivity.this, "Your File Is Downloading...", Toast.LENGTH_SHORT).show();
}
});
}
}
public class myWebClient extends WebViewClient{
@Override
public void onPageStarted (WebView view, String url, Bitmap favicon){
super.onPageStarted(view,url,favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
}
@Override
public void onBackPressed(){
if(mywebView.canGoBack()) {
mywebView.goBack();
}
else{
super.onBackPressed();
}
}
}
код веб-приложения отлично работает в браузере, но в приложении веб-просмотра он не работает. Пробовал. У всех 2-3 игроков такая же проблема. Обычный html5 плеер со ссылкой на видео mp4 работает нормально, но через URL-адрес YouTube он не работает в веб-просмотре. Мне не нужен обычный тег iframe для YouTube, потому что он поставляется с функциями YouTube, которые также перенаправляются на YouTube. Я упоминал выше, что эти параметры не доступны для кликов, что идеально для меня