android MediaPlayer m3u8 播放
项目中用到在播放服务上的m3u8的视频,android自带的MediaPlayer就支持,因此写个demo记录下
布局文件activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><SurfaceViewandroid:id="@+id/surfaceView"android:layout_width="match_parent"android:layout_height="300dp" /></LinearLayout>
Activity
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private String url = "http://121.132.117.216/hls/a.m3u8"; //换成你自己视频地址private SurfaceHolder surfaceHolder;private SurfaceView surfaceView;private MediaPlayer mediaPlayer;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getSupportActionBar().hide();setContentView(R.layout.activity_main);surfaceView = (SurfaceView)findViewById(R.id.surfaceView);mediaPlayer = new MediaPlayer();try {mediaPlayer.setDataSource(url);surfaceHolder =surfaceView.getHolder();surfaceHolder.addCallback(new SurfaceHolder.Callback() {@Overridepublic void surfaceCreated(@NonNull SurfaceHolder surfaceHolder) {mediaPlayer.setDisplay(surfaceHolder);}@Overridepublic void surfaceChanged(@NonNull SurfaceHolder surfaceHolder, int i, int i1, int i2) {}@Overridepublic void surfaceDestroyed(@NonNull SurfaceHolder surfaceHolder) {}});mediaPlayer.prepare();mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mp) {mediaPlayer.start();mediaPlayer.setLooping(true);}});} catch (Exception e) {e.printStackTrace();}}
}
不过在模拟器上播放时只有声音没有画面,在真机上有声音和画面
android MediaPlayer m3u8 播放相关推荐
- android 播放音乐卡顿,Android MediaPlayer+SeekBar播放音频出现卡顿边长可能问题
开发过程中总是会碰到一些"什么鬼,原来这么简单"等等的问题,比如今天碰到 Android MediaPlayer+SeekBar播放音频出现卡顿可能问题? 代码段一: seekBa ...
- Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题
Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题 文章目录 Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题 一.技术选型 二. ...
- Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐
Android MediaPlayer 本地音乐播放器 运行截图 项目请在真机(自己的手机)上测试运行,因为我不喜欢用虚拟机. 为了不浪费您的时间,先看一下运行的效果图, 一进去先进行音乐扫描,然后列 ...
- android MediaPlayer音频播放demo
网上搜了些关于MediaPlayer的资料 1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlayer(); 也可以使用cr ...
- android mediaplayer 后台播放,Android服务—基于MediaPlayer后台播放音乐
Android服务-基于MediaPlayer后台播放音乐 操作环境:Android Studio 4.0.0.SDK Level 21(版本5.0 Lollipop).Windows 10.集成显卡 ...
- Android MediaPlayer+SurfaceView播放视频 (异常处理)
MediaPlayer,顾名思义是用于媒体文件播放的组件.Android中MediaPlayer通常与SurfaceView一起使用,当然也可以和其他控件诸如TextureView.SurfaceTe ...
- android MediaPlayer 完成播放后无法再次播放
问题: MediaPlayer播放完成后无法再次播放. 原因: 没有重新加载资源. 解决: 重新加载资源.
- Android Mediaplayer连续播放没有声音的问题
这个问题太头疼了,有些手机甚至会卡死,原因是内存泄漏引起的. 解决办法:定义一个MediaPlayer变量,每次播放时释放上一次播放的资源 private MediaPlayer mMediaPlay ...
- android mediaplayer 连续播放,android mediaPlayer 设置播放次数
mediaplayer通过 mediaPlayer.setLooping(true); 可以设置循环播放.但是,有时候我们需要设置具体的播放次数,而不是一直循环播放,比如读单词的时候,想要读两次,这个 ...
- android MediaPlayer + GLSurfaceView播放视频
1.配置layout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...
最新文章
- (笔记)电路设计(三)之0欧姆电阻、磁珠、电感的应用
- c++有哪四个类型转换相关的关键字
- java程序一写文件就崩溃_为什么直接修改java的.class文件会导致程序崩溃
- Javascript常用语法 (一)
- flex弹性布局学习总结
- 矩阵论作业1,2,3讲
- GWR(地理加权回归)预测分析中国各省份开关窗情况(R语言)
- Windows系统为指定用户设定本地组策略
- python爬虫基础案例(面向对象)——爬取猫眼电影并保存数据到excel
- Codeforces Problem-705A Hulk
- 考拉消息中心消息盒子处理重构(策略模式)
- 硬盘克隆 计算机更换硬盘,换硬盘数据怎么办 看一招本地磁盘对拷
- 实战经验总结:为什么我不在苹果竞价广告中选择推荐词
- 使用fsck命令检查文件系统错误
- 09.利用U盘PE系统破解Windows7、XP密码
- jenkins设置执行时间_Jenkins环境搭建(4)-配置定时构建
- excel文件导入hive乱码_hive 从Excel中导入数据
- 2021年电工(初级)考试内容及电工(初级)考试总结
- 二分法查找(C语言)
- 爬取全国大学校徽合集批量制作队牌