我正在开发一个应用程序,用户可以在其中查看存储在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提供另一种方式来获取所需的信息?
我正在制作一个java应用程序(用于练习),其中必须有一个面板和2个按钮.
好吧,我几乎完全完成了它(从第1点到第4点),但问题就出现了.当一个球与另一个球相撞时,我的代码将所有球颜色从红色变为蓝色,而不是将碰撞球的颜色改为蓝色.我知道我的错误在于new Balls().setColor(Color.Blue),但我不知道如何只改变碰撞的球.
下面是java应用程序和代码的屏幕截图.任何人都可以帮我解决这个问题吗?
源代码:
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)