视频流 Android 特别版
Posted
技术标签:
【中文标题】视频流 Android 特别版【英文标题】:Video Streaming Android special 【发布时间】:2015-04-27 03:02:39 【问题描述】:在我的 android 应用中,我需要从 URL ex:demo 在线流式传输视频。 我用过 Vitamio,但效果不好。请帮我解决这个问题(我需要一些建议或教程)。
这是 Logcat: image Logcat
【问题讨论】:
有什么问题?你的logcat说什么?请简要介绍... 如果遇到错误,请与 log cat 一起发布相关代码 【参考方案1】:您在 XML 文件中使用视频视图
<VideoView
android:id="@+id/VideoView"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
在java文件中你使用这个代码
String VideoURL ="Your Video Link...";
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
// Get the layout from video_main.xml
setContentView(R.layout.videoview_main);
// Find your VideoView in your video_main.xml layout
videoview = (VideoView) findViewById(R.id.VideoView);
// Execute StreamVideo AsyncTask
// Create a progressbar
pDialog = new ProgressDialog(VideoViewActivity.this);
// Set progressbar title
pDialog.setTitle("Android Video Streaming Tutorial");
// Set progressbar message
pDialog.setMessage("Buffering...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
// Show progressbar
pDialog.show();
try
// Start the MediaController
MediaController mediacontroller = new MediaController(
VideoViewActivity.this);
mediacontroller.setAnchorView(videoview);
// Get the URL from String VideoURL
Uri video = Uri.parse(VideoURL);
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(video);
catch (Exception e)
Log.e("Error", e.getMessage());
e.printStackTrace();
videoview.requestFocus();
videoview.setOnPreparedListener(new OnPreparedListener()
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mp)
pDialog.dismiss();
videoview.start();
);
【讨论】:
我做了,但是:链接 1:(static.bongdaplus.vn:8080/Media/2015/04/22/5/barca22042015a.mp4)它玩得非常好!链接 2:(xemtvhd.com/xemtvhd/danang2.php)它不起作用!为什么 ?上面的Logcat, 嘿,@Shine 先生,您尝试使用错误的文件来播放文件,例如 danang2.php 文件,它不是视频文件。 是的,但它是在线流视频。有什么解决办法?谢了。【参考方案2】:您尝试在 webview 中播放视频文件。 在xml文件中
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_
android:layout_/>
在创建时的java文件中
webView = (WebView) findViewById(R.id.webView1);
startWebView("http://xemtvhd.com/xemtvhd/danang2.php");
这是方法
private void startWebView(String url)
webView.setWebViewClient(new WebViewClient()
ProgressDialog progressDialog;
public boolean shouldOverrideUrlLoading(WebView view, String url)
view.loadUrl(url);
return true;
// Show loader on url load
public void onLoadResource(WebView view, String url)
if (progressDialog == null)
// in standard case YourActivity.this
progressDialog = new ProgressDialog(
ForgotPassword_Activity.this);
progressDialog.setMessage("Loading...");
progressDialog.show();
public void onPageFinished(WebView view, String url)
try
if (progressDialog.isShowing())
progressDialog.dismiss();
progressDialog = null;
catch (Exception exception)
exception.printStackTrace();
);
// javascript inabled on webview
webView.getSettings().setJavaScriptEnabled(true);
// Load url in webview
webView.loadUrl(url);
我试试这个,但在加载时我得到的响应是“加载播放器时出错:找不到 Playbale 源。
【讨论】:
@Shine 当我尝试这个时,我进入 webview Error Loading Player: No Playable Sources Found。 是的,我这样做了。我有想法:调用 onConfigurationChanged() 但不起作用。以上是关于视频流 Android 特别版的主要内容,如果未能解决你的问题,请参考以下文章
全功能iMazing macOS特别版+win系统特别版iOS设备管理+存档管理
安卓必备Google Play 商店 v9.7.11 官方版及特别版