zoukankan      html  css  js  c++  java
  • Android移动端音视频的快速开发教程(一)

    移动开发也称为手机开发,或叫做移动互联网开发[2]。是指以手机、PDA、UMPC等便携终端为基础,进行相应的开发工作,由于这些随身设备基本都采用无线上网的方式,因此,业内也称作为无线开发。
      移动应用开发是为小型、无线计算设备编写软件的流程和程序的集合,像智能手机或者平板电脑。移动应用开发类似于Web应用开发,起源于更为传统的软件开发。但关键的不同在于移动应用通常利用一个具体移动设备提供的独特性能编写软件。例如,利用iPhone的加速器编写游戏应用。
    3G时代,手机为王
      3G时代的到来,使得手机应用日渐热门,由于手机携带方便,并且是生活必带随身用品,而且信号覆盖广,操作便捷,使得人们对其给予了越来越高的期望。大家期待各种常见的或是重要的信息化系统、互联网应用可以被移植到手机上同步使用,使用户无论在何时何地,都可以连线精彩的网络世界,登录信息系统。为此,如何进行手机开发,如何在手机上催生各种多姿多彩的精彩应用,日渐成为整个ICT产业关注的焦点。

      这里主要介绍Android的音视频开发!

    2.3.
    编程要点
    2.3.1.
    SDK的Java Package
    AnyChat for Android 的package 路径是:com.bairuitech.anychat,由于内核采用了JNI技术,需要与该包进行交互,所以上层不能修改包的名称。

    2.3.2.
    SDK与Activity
    Android应用是由一个或多个Activity组合而成,每个Activity都有其生命周期(可参考Android相关开发文档),而AnyChat for Android内核采用JNI技术,并进行了特殊的设计,使得AnyChat for Android可以在多个Activity中共享,即AnyChat for Android的生命周期是从第一个Activity调用InitSDK方法开始,到最后一个Activity调用Release方法结束,中间的Activity不需要再初始化SDK。这样便可实现在第一个Activity中登录之后,便于立即切换第二个Activity继续操作,而不需要在第二个Activity中再进行登录的操作。

    2.3.3.
    SurfaceView视频显示
    AnyChat for Android采用SurfaceView进行视频显示,上层应用只需要在Activity中创建一个SurfaceView控件,然后将控件句柄通过SetVideoPos方法传递给SDK,则当有视频数据到达时,内核将会自动将视频显示到该SurfaceView控件上,不需要上层应用来处理视频的显示。
    需要注意的是,部分Android设备显示本地视频时,需要启动Overlay模式,否则不能进行本地视频的预览和采集,当启动Overlay模式时,需要对SurfaceView控件进行相关属性的设置,详细信息可参考随AnyChat for Android一同发布的Demo程序源代码。

    2.3.4.
    字符编码
    Android平台上层是Java虚拟机,采用Unicode编码,AnyChat for Android

    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    内核在处理Android与Windows平台的通信时,会自动将字符串(如文字聊天数据)转换为上层平台所对应的编码,不需要应用层进行转换,但是当上层应用使用透明通道在客户端与服务器,或是客户端之间传输数据,而需要显示时,就需要上层应用手动来处理编码转换的任务,否则显示将会出现乱码。

  • 相关阅读:
    mysql 数据类型学习笔记(持续更新)
    datetime 和 timestamp 的区别
    Jupyter notebook 常用快捷键(持续更新)
    遍历SnoMed的multiHierarchy中给定概念的子概念
    Ramdom Walk with Restart
    矩阵和向量
    power-law
    一些SQL操作(收集)
    MySQL5.7.19-win64安装启动
    OO_UNIT1_SUMMARY
  • 原文地址:https://www.cnblogs.com/ilscott/p/3121707.html
Copyright © 2011-2022 走看看