簡體   English   中英

android- videoview沒有顯示視頻

[英]android- videoview is not showing video

我想在videoView上顯示視頻。 我已經將視頻轉換為H.264 mp4視頻。 這是我的代碼:

final VideoView videoView = (VideoView)dialog.findViewById(R.id.vide);
                    String _uri="http://192.168.1.108/video/1/"+vid[position];
                Log.v("this", _uri);
                progressDialog = new ProgressDialog(context);
                progressDialog.setMessage("Loading...");
                progressDialog.setCancelable(false);
                progressDialog.show();
                MediaController mediaController= new MediaController(context);
                videoView.setMediaController(mediaController);

                try{
                    videoView.setMediaController(mediaController);
                    videoView.setVideoURI(Uri.parse(_uri));

                } catch (Exception e) {
                    e.printStackTrace();
                    Log.v("this",e.getMessage());
                }

                videoView.requestFocus();
                videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

                    public void onPrepared(MediaPlayer arg0) {
                        progressDialog.dismiss();
                        videoView.start();
                    }
                });

在日志中,我獲得了視頻網址,並且已經對其進行了測試,這是正確的。 為什么不顯示視頻? 我怎么能得到videoView錯誤,因為我沒有任何錯誤並且它也不能播放視頻。

請嘗試此代碼。

import android.app.ProgressDialog;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;

public class VideoViewer extends AppCompatActivity {

    // Declare variables
    ProgressDialog pDialog;
    VideoView videoView;
    String VideoURL;
    // Insert your Video URL
 VideoURL = "http://192.168.1.108/video/1/"+vid[position];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.video_view);

        // Find your VideoView in your video_main.xml layout
        videoView = (VideoView) findViewById(R.id.vide);
        // Execute StreamVideo AsyncTask

        // Create a progressbar
        pDialog = new ProgressDialog(VideoViewer.this);
        // Set progressbar title
        pDialog.setTitle("My Video");
        // Set progressbar message
        pDialog.setMessage("Buffering...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(true);
        // Show progressbar
        pDialog.show();

        try {
            // Start the MediaController
            MediaController mediacontroller = new MediaController(
                    VideoViewer.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();
            }
        });

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM