我尝试播放一些流媒体网站的流媒体视频。网址不包含任何需要刷新的密钥。这是我的问题。我正在播放第一个网址 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;
}
}
因为我已经在这个项目上工作了很长时间,而且有些事情一直都在打破。