美文网首页
FFmpeg播放一个视频

FFmpeg播放一个视频

作者: 追寻米K | 来源:发表于2018-10-10 23:11 被阅读0次

    android 中播放一个视频通常的方式:

                            1、mediaPlayer+SurfaceView

                             2、videoView

    这两个应该说就是一种方式,videoView也是继承自SurfaceView,这种方式只能播放3gp,mp4,avi等很有限的几个格式,片子那么多,肯定满足不了老司机。

    使用ffmpeg播放一个视频,这里知识简单播放一下,其他功能后面在做。

    VideoView源码中在openVideo()方法调用下面方法达到

    真正的绘制视频画面只是用到了Surface,我们也模仿着使用surface进行原生绘制视频画面。

    播放视频和播放音频都要放在子线程中

    前面的套路都是一样的,打开文件,解封装,解码。。。

    这里仅仅只是播放一个视频哦。

    现在来来播放一个音频:

    声音在物理上是一连串的波,那这个波怎么变成代码呢?这个代码又怎么能播放出声音呢?

    假如黑色的波就是声音的波型,只要在波峰和波谷采集这两个点的值,就能大致描绘出这个波,利用这个特点,每秒采集上万次,就能对声音的录制,科学家发现每秒采集44100次人听着最清晰最好,这就是采样率。

    android SDK中播放音频:

        AudioManager:主要用来管理Audio系统

        AudioTrack:主要用来播放声音

        AudioRecord:主要用来录音

    还可以使用openSL ES来实现音频的播放,android的底层也是使用的这个,在NDK的platforms\android-27\arch-arm\usr\lib就有个libOpenSLES.so

    现在先用回调jni回调java方法的方式来实现一个播放MP3。

    一样的套路解封装 解码

    跟视频大致差不多,解码那块不一样而已,ffmpeg的套路。

    在playSound方法中传入MP3的路径就能播放啦。

    相关文章

      网友评论

          本文标题:FFmpeg播放一个视频

          本文链接:https://www.haomeiwen.com/subject/psjxbftx.html