小编Rai*_*ari的帖子

从Android应用中的URL获取视频时长

我正在开发一个应用程序,用户可以在其中查看存储在SERVER上的所有视频信息和标题.我几乎完成了它,除了无论我如何编码它,我都无法从给定的URL获取视频持续时间.让我们从互联网上的某个地方获取这个演示视频: 点击这里获取视频路径 我希望应用程序获得视频持续时间,而无需打开视频本身.

我试图在android上使用的代码是这样的:

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    retriever.setDataSource("https://12-lvl3-pdl.vimeocdn.com/01/1386/0/6932347/10573836.mp4?expires=1461047937&token=037972137fdfc4c2d9902");
    String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
    long timeInmillisec = Long.parseLong( time );
    long duration = timeInmillisec / 1000;
    long hours = duration / 3600;
    long minutes = (duration - hours * 3600) / 60;
    long seconds = duration - (hours * 3600 + minutes * 60);
    Toast.makeText(context,Long.toString(timeInmillisec),Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

但我得到的结果是:第2行的java.lang.IllegalArgumentException是"retrievever.setDataSource()".任何人都可以帮我找到我做错了什么或android提供另一种方式来获取所需的信息?

android android-video-player

4
推荐指数
2
解决办法
6660
查看次数

碰撞时改变球的颜色

我正在制作一个java应用程序(用于练习),其中必须有一个面板和2个按钮.

  1. 每次按下开始按钮时,必须显示一个球并且它会根据线程移动.用户可以一直显示最多10个独立球.
  2. 按下停止按钮,每次按下停止按钮时必须移除1个球(例如,当有4个球时,用户必须按4次停止按钮才能独立移除所有球)
  3. 球的所有x和y坐标必须存储在矩阵中
  4. 当一个或多个球相互碰撞时,只有碰撞的球必须从红色变为蓝色

好吧,我几乎完全完成了它(从第1点到第4点),但问题就出现了.当一个球与另一个球相撞时,我的代码将所有球颜色从红色变为蓝色,而不是将碰撞球的颜色改为蓝色.我知道我的错误在于new Balls().setColor(Color.Blue),但我不知道如何只改变碰撞的球.

下面是java应用程序和代码的屏幕截图.任何人都可以帮我解决这个问题吗?

PRINTSCREEN: 在此输入图像描述

源代码:

import java.awt.Color;             
import java.awt.Dimension;    
import java.awt.FlowLayout;   
import java.awt.Graphics;    
import java.awt.event.ActionEvent;   
import java.awt.event.ActionListener;   
import java.util.ArrayList;  
import java.util.List;  
import javax.swing.JButton;    
import javax.swing.JFrame;    
import javax.swing.JLabel;  
import javax.swing.JPanel;`


public class BouncingBalls extends JPanel implements ActionListener {

protected List<Ball> balls = new ArrayList<Ball>(10);
private final Container container;
private final DrawCanvas canvas;
private  int canvasWidth;
private  int canvasHeight;
public JButton start, stop;
int [][] coords= new int[11][2];
int ammountOfBalls = 0;
static Color clr= …
Run Code Online (Sandbox Code Playgroud)

java swing

1
推荐指数
1
解决办法
679
查看次数

标签 统计

android ×1

android-video-player ×1

java ×1

swing ×1