vous avez besoin de plonger un peu plus dans les médias et le streaming, bien que vous avez déclaré en vue de rendre la vidéo que vous ne l'avez pas traité Pourtant, les médias. Vous devez utiliser Media Player Api Fourni par Android pour diffuser ce m3u8.it est assez simple à lire le contenu en direct suivre ce code.
public class PlayerActivity extends AppCompatActivity implements
SurfaceHolder.Callback, MediaPlayer.OnPreparedListener {
private String Downloadurl;
private int playminute;
private SurfaceView mSurfaceView;
private MediaPlayer mMediaPlayer;
private SurfaceHolder mSurfaceHolder;
ProgressBar p_bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.player);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// thumburl = getIntent().getStringExtra("thumburl");
// p_bar=(ProgressBar)findViewById(R.id.p_bar);
// entryid = getIntent().getStringExtra("entryid");
// playminute = getIntent().getIntExtra("playminute",0);
//fragmenttype = getIntent().getStringExtra("fragmenttype");
// Downloadurl = getIntent().getStringExtra("Downloadurl");
Downloadurl = "http://197.243.19.131:1935/rtv/rtv/playlist.m3u8";
// Description = getIntent().getStringExtra("Description");
Log.e("kanish","Download Url inside player:"+Downloadurl);
mSurfaceView = (SurfaceView) findViewById(R.id.surface_view);
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.addCallback(PlayerActivity.this);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
p_bar.setVisibility(View.VISIBLE);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDisplay(mSurfaceHolder);
try {
mMediaPlayer.setDataSource(Downloadurl);
mMediaPlayer.prepare();
mMediaPlayer.setOnPreparedListener(PlayerActivity.this);
//mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
@Override
public void onPrepared(MediaPlayer mp) {
p_bar.setVisibility(View.GONE);
mMediaPlayer.start();
}
@Override
protected void onPause() {
super.onPause();
releaseMediaPlayer();
}
@Override
protected void onDestroy() {
super.onDestroy();
releaseMediaPlayer();
}
private void releaseMediaPlayer() {
if (mMediaPlayer != null) {
mMediaPlayer.release();
mMediaPlayer = null;
}
}
}
Laissez-moi savoir si ça aide.
Testé sur émulateur TV, bien des ruisseaux:
Ce flux fonctionne-t-il pour vous sur une application externe? Navigateur ? VLC Player? De plus, sur quel appareil le testes-tu? HLS n'est pas entièrement pris en charge sur tous les systèmes d'exploitation et appareils Android. – Gil
oui ce flux fonctionne sur le flux réseau vlc – realfair