美文网首页Android技术汇总
android IM模块-语音-播放篇1

android IM模块-语音-播放篇1

作者: 土肥圆的诺诺 | 来源:发表于2018-09-29 19:18 被阅读29次

    android IM模块-语音-录制篇1
    https://www.jianshu.com/p/5cccb0a9e740
    android IM模块-语音-录制篇2
    https://www.jianshu.com/p/1527e6d4840d
    android IM模块-语音-播放篇1
    https://www.jianshu.com/p/214a433f3f40
    android IM模块-语音-播放篇2
    https://www.jianshu.com/p/66727521e2eb

    MediaPlayer

    MediaPlayer是我们经常用的一个音频播放类
    创建的方式有很多种,可以直接new一个,也可以直接调用MediaPlayer.creat(xxx)


    常用API有如下

    void setDataSource(String path)

    通过一个具体的路径来设置MediaPlayer的数据源,path可以是本地的一个路径,也可以是一个网络路径

    void setDataSource(Context context, Uri uri)

    通过给定的Uri来设置MediaPlayer的数据源,这里的Uri可以是网络路径或是一个ContentProvider的Uri。

    void setDataSource(MediaDataSource dataSource)

    通过提供的MediaDataSource来设置数据源

    void setDataSource(FileDescriptor fd)

    通过文件描述符FileDescriptor来设置数据源

    int getCurrentPosition()

    获取当前播放的位置

    int getAudioSessionId()

    返回音频的session ID

    int getDuration()

    得到文件的时间

    TrackInfo[] getTrackInfo()

    返回一个track信息的数组

    boolean isLooping ()

    是否循环播放

    boolean isPlaying()

    是否正在播放

    void pause ()

    暂停

    void start ()

    开始

    void stop ()

    停止

    void prepare() --播放之前必须调用

    同步的方式装载流媒体文件。

    void prepareAsync()-- 播放之前必须调用

    异步的方式装载流媒体文件。

    void reset()

    重置MediaPlayer至未初始化状态。

    void release ()

    回收流媒体资源。

    void seekTo(int msec)

    指定播放的位置(以毫秒为单位的时间)

    void setAudioStreamType(int streamtype)

    指定流媒体类型

    void setLooping(boolean looping)

    设置是否单曲循环

    void setNextMediaPlayer(MediaPlayer next)

    当前这个MediaPlayer播放完毕后,MediaPlayer next开始播放

    void setWakeMode(Context context, int mode)

    设置CPU唤醒的状态。

    etOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener listener)

    网络流媒体的缓冲变化时回调

    setOnCompletionListener(MediaPlayer.OnCompletionListener listener)

    网络流媒体播放结束时回调

    setOnErrorListener(MediaPlayer.OnErrorListener listener)

    发生错误时回调
    setOnPreparedListener(MediaPlayer.OnPreparedListener listener)
    当装载流媒体完毕的时候回调
    我们写一个简单播放器试一下
    6.0以上记住申请权限哦



    设置MediaPlayer音乐路径,加载,和播放,设置异常监听,和播放结束监听



    暂停播放

    停止播放
    其实一般在做播放器的时候,播放音乐之前会申请音乐焦点,音乐焦点类型有很多种,会单独写一篇进行分析。记住在播放完以后要及时的释放掉资源,毕竟这个还是很吃资源的。

    关于pcm格式播放我们下一篇见
    android IM模块-语音-播放篇2
    https://www.jianshu.com/p/66727521e2eb

    相关文章

      网友评论

        本文标题:android IM模块-语音-播放篇1

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