我使用这个代码来处理流视频。
但在5-6秒后,玩家停了下来
如果为此使用mp4格式,则工作正确
但是在几秒钟后使用流URL停止
public static SurfaceView videoSurface = null;
public SurfaceHolder videoHolder = null;
public static MediaPlayer mediaPlayer;
new Thread(new Runnable() {
@Override
public void run() {
mediaPlayer = null;
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setWakeMode(this, PowerManager.PARTIAL_WAKE_LOCK);
try {
mediaPlayer.setDisplay(videoHolder);
String file = "http://test.com/file.m3u8";
mediaPlayer.setDataSource(file);
mediaPlayer.prepare();
mediaPlayer.setOnPreparedListener((OnPreparedListener) this);
mediaPlayer.prepareAsync();
}
catch (Exception e) {
e.printStackTrace();
}
mediaPlayer.setLooping(true);
mediaPlayer.start();
}
}).start();
怎么才能修好呢?
逻辑猫:
08-11 18:42:21.370: V/MediaPlayer(6060): callback application
08-11 18:42:21.370: V/MediaPlayer(6060): back from callback
08-11 18:42:21.370: I/MediaPlayer(6060): Info (702,0)
08-11 18:42:21.370: I/MediaPlayer(6060): Info (3,0)
08-11 18:42:46.835: V/MediaPlayer(6060): message received msg=200, ext1=701, ext2=0
08-11 18:42:46.835: W/MediaPlayer(6060): info/warning (701, 0)
08-11 18:42:46.835: V/MediaPlayer(6060): callback application
08-11 18:42:46.835: V/MediaPlayer(6060): back from callback
08-11 18:42:46.840: I/MediaPlayer(6060): Info (701,0)
08-11 18:42:46.940: V/MediaPlayer(6060): message received msg=2, ext1=0, ext2=0
08-11 18:42:46.940: V/MediaPlayer(6060): playback complete
08-11 18:42:46.940: V/MediaPlayer(6060): callback application
08-11 18:42:46.940: V/MediaPlayer(6060): back from callback
发布于 2016-08-11 14:04:04
因为它能很好地处理本地文件,所以IMO是一个实际的播放列表http://test.com/file.m3u8
的唯一原因。该文件或流式服务器设置可能存在一些问题。
发布于 2016-08-11 14:26:19
问题可能在于文件格式,android媒体播放器不支持此文件格式,请检查这。
https://stackoverflow.com/questions/38898469
复制相似问题