Java 在android中从youtube url提取视频持续时间时出错
我正在尝试上面的代码从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(本机方
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)