媒体播放器不播放视频,如果视频播放滞后,10秒后播放不播放

时间:2015-07-21 01:31:50

标签: android audio video media-player m3u8

我尝试播放一些流媒体网站的流媒体视频。网址不包含任何需要刷新的密钥。这是我的问题。我正在播放第一个网址 a m3u8 url 。它没有显示视频,但我可以听到声音。在 5-10秒之后,声音消失,再也听不到任何声音了。其他一些m3u8文件显示视频,但它非常滞后。该视频虽然在流媒体主页上播放流畅

以下是播放视频的代码:我可以看到我做错的地方,所以请帮帮我。

package playingPackage;
import android.app.Fragment;
import android.app.ProgressDialog;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.MediaController;
import android.widget.VideoView;

import com.example.ptivi.ptivi.R;

/**
 * Created by peyam on 2015-07-20.
*/
public class PlayingVideos extends Fragment {
private VideoView videoview;
private String uriDef ="http://176.28.44.168:1935/live/_definst_/livestream/playlist.m3u8";
private ProgressDialog pDialog;

public PlayingVideos() {

}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.playvideo, container, false);
    // Amozghary as default

        videoview = (VideoView) v.findViewById(R.id.vvPlay);

        String urlString = getArguments().getString("url", uriDef);
        Uri Uriplay = Uri.parse(urlString);

        pDialog = new ProgressDialog(getActivity());
        pDialog.setTitle("Loading...");
        pDialog.setMessage("Please wait ...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();

    try {
        MediaController mediacontroller = new MediaController(getActivity());
        mediacontroller.setAnchorView(videoview);
        videoview.setMediaController(mediacontroller);
        videoview.setVideoURI(Uriplay);
    } catch (Exception e) {
        Log.e("Error", e.getMessage());
        e.printStackTrace();
    }
    videoview.requestFocus();
    videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            pDialog.dismiss();
            videoview.start();
        }
    });


    return v;
}
}
因为我已经在这个项目上工作了很长时间,而且有些事情一直都在打破。

0 个答案:

没有答案