2025年3月28日 星期五 甲辰(龙)年 月廿七 夜 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > 安卓(android)开发

Android 平台视频播放实现方式

时间:12-14来源:作者:点击数:4
CDSY,CDSY.XYZ

Android 平台视频播放实现有多种方式: VideoView 和 MediaPlayer 是最常用的,显示启动调用本地播放器。

MediaPlayer

  • mediaPlayer = new MediaPlayer();
  • mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
  • Class<MediaPlayer> clazz = MediaPlayer.class;
  • Method method = clazz.getDeclaredMethod("setDataSource", String.class, Map.class);
  • method.invoke(mediaPlayer, CURRENT_PLAYING_URL, MAP_HEADER_DATA);
  • mediaPlayer.setLooping(CURRENT_PLING_LOOP);//是否循环播放
  • mediaPlayer.setOnPreparedListener(MediaManager.this);
  • mediaPlayer.setOnCompletionListener(MediaManager.this);
  • mediaPlayer.setOnBufferingUpdateListener(MediaManager.this);
  • mediaPlayer.setScreenOnWhilePlaying(true);//设置播放时常亮
  • mediaPlayer.setOnSeekCompleteListener(MediaManager.this);
  • mediaPlayer.setOnErrorListener(MediaManager.this);
  • mediaPlayer.setOnInfoListener(MediaManager.this);
  • mediaPlayer.setOnVideoSizeChangedListener(MediaManager.this);
  • mediaPlayer.prepareAsync();//异步准备完成,会触发OnPreparedListener.onPrepared(),进而进入Prepared状态
  • mediaPlayer.setSurface(new Surface(savedSurfaceTexture));

MediaPlayer 注意事项

  • 其中MediaPlayer 提供了一个 setDataSource 方法设置播放的地址,在这里用到反射方法设置播放地址。
  • prepareAsync() 和 prepare() 同步和异步方式 Prepares the player。
  • SurfaceTexture savedSurfaceTexture 对于 mediaPlayer.setSurface 设置对象必须为 Surface ,所有需要重新构造。

MediaPlayer 回调方法

  • setOnPreparedListener 视频加载完成,准备进入播放状态
  • setOnBufferingUpdateListener 视频缓冲更新进度条 progressBar.setSecondaryProgress(bufferProgress)
  • setOnCompletionListener 视频播放完成回调
  • setOnErrorListener 视频播放中网络等错误回调
  • setOnVideoSizeChangedListener 视频大小回调,动态改变视频大小
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐