我正在尝试使用新的api mediacodec以android本地代码播放视频。我不想走媒体播放器的路,因为不可避免的原因。有谁能分享一些代码片段来说明如何去做吗?提前谢谢。
最佳答案
你原来的问题太笼统了。老实说,用本机代码创建一个新的媒体播放器对您自己来说是一个巨大的任务。
如果你只是在寻找一些媒体播放器的解决方案,其中有更好的支持多种格式/编解码器,如vlc播放器,你可以尝试vlc lib,这是开源的,但仍在测试版。我试过vlc,但它确实有一些崩溃问题或anr问题,这是在整个框架内的。
或者你可以试试vitamio sdk,它是一个没有源代码的库。请访问此链接:https://github.com/yixia/VitamioBundle以下是它的功能列表:
我试过这个解决方案,它很稳定,在4.3上也有些小问题,但还是可以接受的。所以我没有在这里发布任何垃圾邮件,只是从官方文件中复制:
vitamio是一个面向android和ios的开放式多媒体框架或库,具有完整和真实的硬件加速解码器和渲染器。vitamio的简单、干净和强大的api使它在android和ios的多媒体应用程序开发中出名和流行。
根据开发者的反馈,vitamio已经被全球1000多个应用和1亿用户使用。
vitamio可以在android和ios中播放720p/1080p高清mp4、mkv、m4v、mov、flv、avi、rmvb、rm、ts、tp和许多其他视频格式。vitamio几乎支持所有流行的流媒体协议,包括hls(m3u8)、mms、rtsp、rtmp和http。
网络协议
音频和视频播放支持以下流协议:
多媒体信息服务
rtsp(rtp,sdp),rtmp
http渐进流
hls-http直播(m3u8)
是的,vitamio可以处理所有上述协议中的点播和直播视频。
媒体格式
vitamio使用ffmpeg作为解复用器和主解码器,在android平台内置的默认媒体格式之外,许多音频和视频编解码器被打包到vitamio中,其中一些如下所示。
第X/XVID部分
WMV公司
飞行高度
TS/TP系统
rmvb语言
MKV公司
压敏电阻
M4V型
阿维
MP4标准
3gp公司
字幕
vitamio支持多种外部和嵌入式字幕格式的显示。
子RIP(.srt)
子站alpha(.ssa)/高级子站alpha(.ass)
萨米语(.smi/.sami)
microDVD(.sub/.txt)
子视图2.0(.sub)
MPL2(.mpl/.txt)
Matroska(.mkv)字幕曲目
更多功能
更多精彩功能
支持从小型手机到大型平板电脑的大屏幕
多声道支持
支持多个字幕,包括外部字幕和嵌入字幕
多平台处理器优化
流式处理时缓冲
可调长宽比
自动文本编码检测
关于android - 在 native 代码中使用mediaCodec进行android视频播放,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20297822/