当前位置: 首页 > 知识库问答 >
问题:

Android WebView:未捕获得错误:INDEX_SIZE_ERR

上官凯泽
2023-03-14
12-07 19:23:18.484: D/HTML5VideoInline(26166): HTML5VideoInline created
12-07 19:23:18.484: V/MediaPlayer-JNI(26166): native_setup
12-07 19:23:18.484: V/MediaPlayer(26166): constructor
12-07 19:23:18.484: V/MediaPlayer(26166): setListener
12-07 19:23:18.484: V/MediaPlayer(26166): setVideoSurfaceTexture
12-07 19:23:18.484: V/MediaPlayer-JNI(26166): reset
12-07 19:23:18.484: V/MediaPlayer(26166): reset
12-07 19:23:18.484: I/MediaPlayer(26166): path is null
12-07 19:23:18.484: D/MediaPlayer(26166): Couldn't open file on client side, trying server side
12-07 19:23:18.494: V/MediaPlayer(26166): setVideoSurfaceTexture
12-07 19:23:18.494: V/MediaPlayer(26166): prepareAsync
12-07 19:23:18.754: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:18.789: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:18.849: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:18.879: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:18.929: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:18.994: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:19.029: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:19.114: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566
12-07 19:23:19.134: E/Web Console(26166): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1:566

下面是我的代码:

  if(mediaURL.toLowerCase().contains("youtube")){
                     Log.d(TAG, "adding youtube video");
                     final String mimeType = "text/html";
                     final String encoding = "UTF-8";
                     String youtube_url = "<iframe class=\"youtube-player\" "
                             + "style=\"border: 0; width: 100%; height: 95%;"
                             + "padding:0px; margin:0px\" "
                             + "id=\"ytplayer\" type=\"text/html\" "
                             + "src=\"" + mediaURL
                             + "?fs=0\" frameborder=\"0\" " + "allowfullscreen autobuffer "
                             + "controls onclick=\"this.play()\">\n" + "</iframe>\n";
                     Log.d(TAG, "youtube_url: " + youtube_url);
                     final WebView video = new WebView(MediaPreview.this);
                     video.setWebChromeClient(new WebChromeClient() {
                     });
                     video.loadDataWithBaseURL("", youtube_url, mimeType, encoding, "");
                     video.getSettings().setJavaScriptEnabled(true);
                     video.getSettings().setPluginState(PluginState.ON);
                     video.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
                     mediaHolder.addView(video);

                 }

我还在AndroidManifest.xml中设置了android:hardwareAccelerated=“true”,并确认嵌入的url链接在浏览器中工作。我该如何解决这个问题呢?

共有1个答案

乜裕
2023-03-14

按照朱莉娅的建议,我使用了YouTube Player API。这是我的最终代码的样子:

public class MediaPreview extends Main implements YouTubePlayer.OnInitializedListener {

....

if(mediaURL.toLowerCase().contains("youtube")){
     playerFragment = YouTubePlayerFragment.newInstance();
     playerFragment.initialize(DeveloperKey.DEVELOPER_KEY, this);
     playerView = new FrameLayout(this);
     playerView.setId(R.id.player_view);
     mediaHolder.addView(playerView);
     getFragmentManager().beginTransaction().add(R.id.player_view, playerFragment).commit();                
}

....

    @Override
    public void onInitializationSuccess(Provider arg0, YouTubePlayer player,
            boolean arg2) {
        Log.d(TAG, "adding youtube video");
        // get ID of youtube video from mediaURL
        String videoID = mediaURL.substring(mediaURL.lastIndexOf("/")+1, mediaURL.length());
        player.cueVideo(videoID);
    }
 类似资料:
  • 移动应用程序新手。我正在尝试在我的android应用程序上使用webview。但我的代码中有一个问题。我使用了https://developer.android.com/但它现在不知怎么起作用了。你能查一下我的密码吗。。。。 Android说“无法解决符号webview”... 整个代码都在这里-

  • 我在做一个函数来禁止一个成员在JDA中使用他的/她的id<我做了这个: 但是,它不接受错误。我已经尝试删除printStackTrace,但是错误仍然会出现。"Done"和"EEE"不会被打印出来。 此外,它确实接受所有其他错误,但不接受这个错误。 这里给出了错误的一部分

  • 我现在必须学习通过fire base编写移动应用程序web服务。我点击了这个链接:https://firebase-php.readthedocs.io/en/stable/ 在我的核心网站中,我创建web服务文件夹,然后创建我的fire。php文件。这个文件代码在这里, 我得打电话给我的支持档案:https://github.com/kreait/firebase-php/ 但我还是得到了一个:

  • 问题内容: 我在Angular JS接收错误时遇到问题:未捕获的错误:[$ injector:modulerr]。我的JS文件外观 我还包括了angular-route-js Angular文档说问题出在http://docs.angularjs.org/api/ngRoute 问题答案: 尝试添加以下内容:

  • Twilio新手使用测试帐户。我按照这里列出的安装Twilio PHP的说明进行了安装:https://www.Twilio.com/docs/quickstart/php/sms 因为我得到了一个证书错误,所以我的主机提供程序建议我更改CURLOPT_SSL_VERIFYPEER=>false(从true改为true)。但现在我得到了这个错误。如何修复?:致命错误:未捕获异常“services_

  • 我得到这个错误。我创建了一个按钮来更新表。当我点击按钮时,我得到一个错误。如何修复它? 致命错误:Uncaught ArgumentCounter错误:函数personel::update_form(),0的参数太少,在C:\xampp\htdocs\warehouse\panel\system\core\CodeIgniter中传递。php在第360行,C:\xampp\htdocs\wareh