AVImporter

cn.tee3.avd

## 类 AVImporter

- java.lang.Object
- - cn.tee3.avd.AVImporter

-     public class AVImporter
      extends java.lang.Object

  音视频流导入接口. 完成独立的音视频导入功能接口。

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `static interface` | `AVImporter.EngineInitResultListener`
    `static interface` | `AVImporter.Listener` 音视频流导入回调接口.
    `static interface` | `AVImporter.RoomJoinResultListener`

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `int` | `audio_inputAACFrame(long timestamp_ns, int sampleRate, int channels, byte[] data, int len, int samplesOfEncodedData)` 音频流导入AAC编码后的数据
    `int` | `audio_inputPCMFrame(long timestamp_ns, int sampleRate, int channels, byte[] data, int len)` 音频流导入PCM原始数据
    `protected static void` | `clearImporters()`
    `static void` | `destoryImporter(AVImporter room)` 释放视频流导入对象
    `protected void` | `dispose()`
    `int` | `enableAudio(boolean enable)` 启用导入音频
    `int` | `enableVideo(boolean enable)` 启用导入视频
    `static java.lang.String` | `getErrorMessage(int code)` 根据错误代码获取关联的错误信息描述
    `java.lang.String` | `getRoomId()` 获取房间Id
    `static int` | `initEngine(android.content.Context context, java.lang.String severuri, java.lang.String appkey, java.lang.String secretkey, AVImporter.EngineInitResultListener cb)` 初始化引擎
    `static boolean` | `isEngineWorking()`
    `boolean` | `isWorking()` 判断房间是否正在运行
    `int` | `join(User user, AVImporter.RoomJoinResultListener joinresult)`
    `static AVImporter` | `obtain(java.lang.String roomId)` 获取或创建音视频导入对象
    `int` | `setListener(AVImporter.Listener listener)` 设置回调接口
    `static int` | `setLogParams(java.lang.String params, java.lang.String filename)` 设置引擎日志配置
    `static int` | `uninitEngine()` 反初始化引擎
    `int` | `video_input264Frame(long timestamp_ns, int w, int h, byte[] data, int len)` 视频流导入h264编码后的数据
    `int` | `video_inputRAWFrame(long timestamp_ns, int w, int h, byte[] data, int len, int rotation, boolean mirror, FakeVideoCapturer.FourccType fourFormat)` 视频流导入原始图像

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 方法详细资料

    - #### initEngine

          public static int initEngine(android.content.Context context,
                                       java.lang.String severuri,
                                       java.lang.String appkey,
                                       java.lang.String secretkey,
                                       AVImporter.EngineInitResultListener cb)

      初始化引擎
      返回:
        返回错误代码。

    - #### uninitEngine

          public static int uninitEngine()

      反初始化引擎
      返回:
        返回错误代码。

    - #### isEngineWorking

          public static boolean isEngineWorking()

    - #### getErrorMessage

          public static java.lang.String getErrorMessage(int code)

      根据错误代码获取关联的错误信息描述
      返回:
        返回错误信息描述。

    - #### setLogParams

          public static int setLogParams(java.lang.String params,
                                         java.lang.String filename)

      设置引擎日志配置
      返回:
        返回错误代码。

    - #### dispose

          protected void dispose()

    - #### obtain

          public static AVImporter obtain(java.lang.String roomId)

      获取或创建音视频导入对象
      返回:
        返回房间接口指针。

    - #### clearImporters

          protected static void clearImporters()

    - #### destoryImporter

          public static void destoryImporter(AVImporter room)

      释放视频流导入对象

    - #### getRoomId

          public java.lang.String getRoomId()

      获取房间Id
      返回:
        返回房间Id。

    - #### setListener

          public int setListener(AVImporter.Listener listener)

      设置回调接口
      返回:
        返回错误代码。
      另请参阅:
        `AVImporter.Listener`

    - #### join

          public int join(User user,
                          AVImporter.RoomJoinResultListener joinresult)

    - #### enableAudio

          public int enableAudio(boolean enable)

      启用导入音频
      返回:
        返回错误代码。

    - #### enableVideo

          public int enableVideo(boolean enable)

      启用导入视频
      返回:
        返回错误代码。

    - #### isWorking

          public boolean isWorking()

      判断房间是否正在运行
      返回:
        是否在运行。

    - #### audio_inputPCMFrame

          public int audio_inputPCMFrame(long timestamp_ns,
                                         int sampleRate,
                                         int channels,
                                         byte[] data,
                                         int len)

      音频流导入PCM原始数据
      返回:
        返回错误代码： AVD_OK 成功

    - #### audio_inputAACFrame

          public int audio_inputAACFrame(long timestamp_ns,
                                         int sampleRate,
                                         int channels,
                                         byte[] data,
                                         int len,
                                         int samplesOfEncodedData)

      音频流导入AAC编码后的数据
      返回:
        返回错误代码： AVD_OK 成功

    - #### video_inputRAWFrame

          public int video_inputRAWFrame(long timestamp_ns,
                                         int w,
                                         int h,
                                         byte[] data,
                                         int len,
                                         int rotation,
                                         boolean mirror,
                                         FakeVideoCapturer.FourccType fourFormat)

      视频流导入原始图像
      返回:
        返回错误代码： AVD_OK 成功 RTC_ERR_VIDEO_CONVERT_FAILED 转换图像格式失败，有可能是内存分配失败，可考虑重启程序。 Err_Invalid_Arg 参数不合法，可忽略 Err_Wrong_Status 状态不对，可忽略

    - #### video_input264Frame

          public int video_input264Frame(long timestamp_ns,
                                         int w,
                                         int h,
                                         byte[] data,
                                         int len)

      视频流导入h264编码后的数据
      返回:
        返回错误代码： AVD_OK 成功 Err_Invalid_Arg 参数不合法，可忽略 Err_Wrong_Status 状态不对，可忽略