Java 在android中从youtube url提取视频持续时间时出错

Java 在android中从youtube url提取视频持续时间时出错,java,android,Java,Android,我正在尝试上面的代码从youtube url获取视频的持续时间……但是在retriever.setDataSource(context,Uri.parse(url)) 请注意:仍在获取错误StageFrightMetadataRetriever:无法为“”实例化提取器。java.lang.RuntimeException:setDataSource失败:状态=0x8000000 atandroid.media.MediaMetadataRetriever.\u setDataSource(本机方

我正在尝试上面的代码从youtube url获取视频的持续时间……但是在
retriever.setDataSource(context,Uri.parse(url))


请注意:仍在获取错误StageFrightMetadataRetriever:无法为“”实例化提取器。java.lang.RuntimeException:setDataSource失败:状态=0x8000000 atandroid.media.MediaMetadataRetriever.\u setDataSource(本机方法)您是否尝试过使用
FFmpegMediaMetadataRetriever
?我也尝试过..而且..但似乎…没有这样的类..看这个:仍然收到错误StageFrightMetadataRetriever:无法为“”实例化提取器。java.lang.RuntimeException:setDataSource失败:status=0x8000000 atandroid.media.MediaMetadataRetriever.\u setDataSource(本机方法)是否尝试过
FFmpegMediaMetadataRetriever
?我也尝试过..但似乎…没有这样的类。。
public  long  getvideoDuration(String url){

    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    retriever.setDataSource(context, Uri.parse(url));
    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);

    return  seconds;
}
Error: java.lang.IllegalArgumentException at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:83)