Android 应用程序存在从internet播放视频的问题
通过运行以下代码选择stock videoplayer(Android 应用程序存在从internet播放视频的问题,android,android-intent,video,webview,youtube,Android,Android Intent,Video,Webview,Youtube,通过运行以下代码选择stock videoplayer(com.android.gallery3d)或MX Player后,我(分别)会收到以下错误:无法播放此视频。或无法播放此链接。: gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) {
com.android.gallery3d
)或MX Player
后,我(分别)会收到以下错误:无法播放此视频。
或无法播放此链接。
:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
switch (position) {
case 4:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("https://www.youtube.com/v/fyoCXePXQF0&loop=1&playlist=fyoCXePXQF0&autoplay=1&showinfo=0&autohide=1"), "video/*");
startActivity(Intent.createChooser(intent, ""));
break;
}
}
});
我尝试将其用于外部视频播放器(MX播放器,最重要的是股票播放器),因为这比使用只播放音频的WebView要好——我猜是flash(它和所有插件一样,从API 18开始就被弃用了);HTML5可以让它工作,而且无论怎样都更好,尽管我不知道如何使用。Youtube显示错误通过运行以下命令,网络[400](…)
出现问题:
case 2:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.youtube.com/v/fyoCXePXQF0&loop=1&playlist=fyoCXePXQF0&autoplay=1&showinfo=0&autohide=1")));
break;
作为备用方案,我会使用嵌入,但它会忽略视频选项,除非embed
更改为v
(这会导致web浏览器(包括此应用程序的WebView
)也不显示视频),并阻止播放视频,解释如下:
此视频包含来自(…)的内容。它在某些网站上被限制播放
在YouTube上观看
也许URI可以包含一些数据(与URL头相关?)来防止这种情况。该URL导致MIME类型的内容
application/x-shockwave-flash
,而不是video/*
。因此,当你说MIME类型是video/*
@commonware时,应用程序无法正确处理它就不足为奇了。我该如何改进我的问题<代码>intent.setDataAndType(Uri.parse(“https://www.youtube.com/v/fyoCXePXQF0&loop=1&playlist=fyoCXePXQF0&autoplay=1&showinfo=0&autohide=1“,”视频/*”将MIME类型设置为任何视频文件(不是application/x-shockwave-flash
)删除video/*
,并将其替换为application/x-shockwave-flash
。或者,使用实际视频的URL,而不是Flash对象。@Commonware哦,我现在明白了,对不起。在替换MX播放器后,
会在触发案例4:
后立即打开,并显示相同的错误,即使对于普通URL(),也许我应该使用视频的直接URL,但我不知道如何按要求播放。这根本不起作用(URL太长,无法评论):除了YouTube本身,我不知道有哪些玩家可以通过YouTube URL进行播放,但我还没有对其进行研究。虽然我很惊讶MX播放器接受application/x-shockwave-flash
URL,但却无法显示它们。