How to play live streaming video from a remote url in android?

I create one function that starts the notification service in a certain period of time. The designation may be from text, image or video ...

Now, for the video, I download it first and then play it, which takes longer ... so is there any mechanism that I can play directly from the remote URL?

Please help me ... I desperately need an answer as soon as possible ...

Thanks in Advance ........

Take a look at my code snippets ::

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.notificationvideo); mVideoView = (VideoView) findViewById(R.id.video); //pd=ProgressDialog.show(this, "Loading...", "Please Wait...",true,false); playVideo(); //pd.dismiss(); img_back = (ImageView) findViewById(R.id.img_back); img_back.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent int_back=new Intent(NotificationsVideoActivity.this,MyChannelsActivity.class); startActivity(int_back); finish(); } }); } private void playVideo() { try { path = getIntent().getStringExtra("url"); Log.v(TAG, "path: " + path); if (path == null || path.length() == 0) { Toast.makeText(NotificationsVideoActivity.this, "File URL/path is empty",Toast.LENGTH_LONG).show(); } else { // If the path has not changed, just start the media player if (path.equals(current) && mVideoView != null) { mVideoView.start(); mVideoView.requestFocus(); return; } current = path; mVideoView.setVideoPath(getDataSource(path)); mVideoView.start(); mVideoView.requestFocus(); } } catch (Exception e) { Log.e(TAG, "error: " + e.getMessage(), e); if (mVideoView != null) { mVideoView.stopPlayback(); } } } private String getDataSource(String path) throws IOException { if (!URLUtil.isNetworkUrl(path)) { return path; } else { URL url = new URL(path); URLConnection cn = url.openConnection(); cn.connect(); InputStream stream = cn.getInputStream(); if (stream == null) throw new RuntimeException("stream is null"); File temp = File.createTempFile("mediaplayertmp", "mp4"); temp.deleteOnExit(); String tempPath = temp.getAbsolutePath(); FileOutputStream out = new FileOutputStream(temp); byte buf[] = new byte[128]; //byte buf[] = new byte[8192]; do { int numread = stream.read(buf); if (numread <= 0) break; out.write(buf, 0, numread); } while (true); try { stream.close(); } catch (IOException ex) { Log.e(TAG, "error: " + ex.getMessage(), ex); } return tempPath; } } 
+4
source share
3 answers

Try it -

 String path="http://www.ted.com/talks/download/video/8584/talk/761"; String path1="http://commonsware.com/misc/test2.3gp"; Uri uri=Uri.parse(path1); VideoView video=(VideoView)findViewById(R.id.VideoView01); video.setVideoURI(uri); video.start(); 
+2
source

try webview and exmaple listed at http://code.google.com/p/html5webview/downloads/list and the full source is at http://html5webview.googlecode.com/svn/trunk/ take it like refrence and try that what you want

0
source
 VideoView video = (VideoView) findViewById(R.id.video); ProgressDialog mProgressDialog = new ProgressDialog(this); mProgressDialog.setMessage("Loading Video Please wait..."); mProgressDialog.setIndeterminate(true); mProgressDialog.setCancelable(false); mProgressDialog.show(); video.setMediaController(new MediaController(MainActivity.this)); uri = Uri.parse("live streaming url"); video.setVideoURI(uri); video.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { // TODO Auto-generated method stub video.start(); mProgressDialog.dismiss(); } }); 
0
source

Source: https://habr.com/ru/post/1401527/


All Articles