android – mediacodec vs mediaplayer和mediarecorder

前端之家收集整理的这篇文章主要介绍了android – mediacodec vs mediaplayer和mediarecorder前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对如何在 Android中播放和录制视频/音频感到有些困惑.我真的不明白在什么情况下应该使用这些类:

– 玩:MediaPlayer与MediaExtractor MediaCodec

– 记录:MediaRecorder与MediaCodec MediaMuxer

我何时必须使用其中一个?
对不起,如果这是一个重复的问题,我认为它应该是一个常见的问题,但我没有找到任何问题.

解决方法

如果高级接口(MediaPlayer,MediaRecorder)可以执行您想要的操作(从系统支持的格式播放视频到显示器,或将视频从摄像机录制到文件中),您应该只使用它们,它将要简单得多.

如果你想做一些更自定义的事情,当你注意到想要修改的链的一部分被隐藏在高级别类中时,你会想要继续下一级.例如.对于MediaExtractor;如果您只想从文件提取数据包但不解码并立即显示/播放它们,您将需要使用MediaExtractor.如果您想接收来自系统本身不支持的其他来源的数据包,您将需要使用没有MediaExtractor的MediaCodec.同样,如果您想录制除摄像机之外的其他内容,或者将输出写入除MediaRecorder支持文件之外的其他位置,您将需要直接使用MediaCodec而不是MediaRecorder.

另请注意,对于较新的API版本,高级类也会改进并变得更加灵活,允许您执行以前需要您手动使用较低级别类的操作.例如.在Android 5.0中,MediaRecorder能够从自定义Surface进行录制,允许您录制自己渲染的视频,而不仅仅是摄像机.以前可以通过使用较低级别的类来实现4.3.

猜你在找的Android相关文章