【问题标题】:Videoview skipping videos just play the last oneVideoview跳过视频只播放最后一个
【发布时间】:2019-06-21 23:15:06
【问题描述】:

我想从数据库 sql server 播放我服务器上的视频我从 volley 中获取所有名称,我会迭代以获取视频名称,但问题是 videoview 跳过所有视频并仅播放最后一个一个来自我的数据库

我已经搜索过它,但无法找到它这样做的充分理由?

 public void Playvideo(){
        RequestQueue queue = Volley.newRequestQueue(this);
         String link = "https://192.168.1.108/api/home/getvideos";
        VideoView vidView = findViewById(R.id.ad_video);
        JsonArrayRequest request = new JsonArrayRequest(Request.Method.GET, link, null, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                for(int i = 0; i<response.length();i++){
                    try{
                        JSONObject jsonObject = response.getJSONObject(i);
                        String vide = jsonObject.getString("video");
                        String vidAddress = "https://192.168.1.108/Videos/"+vide;
                        Uri vidUri = Uri.parse(vidAddress);
                        vidView.setVideoURI(vidUri);
                        vidView.start();


                    }catch (JSONException e){
                        e.printStackTrace();
                    }
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.d("Error",error.toString());
            }
        });
        RequestQueue queuee = Volley.newRequestQueue(this);
        queuee.add(request);
       }

【问题讨论】:

    标签: android


    【解决方案1】:

    您的循环完成得如此之快,只有最后一个视频才会显示出来。

    您需要做的是在循环过程中,等到第一个视频结束后再允许循环继续。

    有很多方法可以做这种事情,但这是正在发生的事情的一般概念。

    【讨论】:

    • 你能举个例子吗?
    • 我已经使用 handler.postdelay 解决了这个问题,谢谢 :) 还有一件事我使用的延迟时间是 30000 毫秒问题是它在 30 秒后开始第一个视频可以有吗我可以立即播放第一个视频的可能方式,然后每 30 秒延迟一次?
    • 当 response.length() 到达结束时如何重新开始循环?
    • @SohailShah 是的,您真的不想为此使用硬编码值。更好的方法是在视频停止播放时收到通知。您可能还应该为用户创建一种跳到下一个视频或返回上一个视频的方式。查看其他答案,了解如何查看视频何时播放完毕:stackoverflow.com/a/1847862/940217
    • 谢谢你的建议 kyle :) 但我不是在制作视频播放器,我想要的是我想通过循环播放的视频应该播放到它没有结束然后循环可以加上一个迭代然后等待视频结束,同样,当它到达最后一次迭代时,它应该从第一次开始我尝试搜索并实施不同的技术,但被困在一起做所有这些事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多