Android 3.1 --- 久违的 USB、mtp、rtp

2014-11-24 09:24:32 · 作者: · 浏览: 0

USB、mtp、rtp -------三个字眼,各个血淋淋,让人悲喜交加,Google你为何不早点发?



android.mtp


让连接的camera和其他设备,直接使用PTP(图像传输协议)的MTP(媒体传输协议)。


保持设备连接,上层app可以接收到通知,取消,管理这些设备的文件和存储,文件的传输和元数据等。


它为我们提供了定义PTP和MTP的MtpConstants,描述USB host总线上连接的PTP或MTP设备的MtpDevice,封装MTP设备信息的MtpDeviceInfo,和该对象的信息的MtpObjectInfo,MTP设备上存储单元信息的封装MtpStorageInfo 。



android.hardware.usb



支持通过USB连接到Android供电设备的外设的数据通信。中央类是UsbManager,它提供了识别和使用的USB设备和USB配件通讯方法。应用程序可以获取一个UsbManager实例,然后用于连接的设备或配件清单查询,管理、通信。


若Android的供电设备作为USB host,那么使用UsbDevice。若外设充当USB host ,那么使用UsbAccessory。大多数输入设备鼠标和游戏杆,camera,集线器等都属于前者,即UsbDevice。



另外,为了处理鼠标,滚轮和轨迹球输入,新增两种新的运动事件行动:


1.ACTION_SCROLL,其中介绍了指针的位置的 一个非触摸滚动如从鼠标移动,滚轮,发生了。在MotionEvent,对AXIS_HSCROLL和AXIS_VSCROLL轴值指定相对滚动运动。
2.ACTION_HOVER_MOVE,报告了在没有被按下鼠标按钮的当前位置,以及自上次HOVER_MOVE事件的任何中间点。



android.net.rtp


内置RTP(实时传输协议)协议栈,应用程序可以使用它来管理交互数据流。应用程序提供VOIP,一键,会议和音频流,在网络可用的前提下,可以使用这些API来启动会话和传输,或接收数据。
最简单的用法即单个远程终端和本地。AudioStream指定远程终端和网络映射和配置AudioCodec组成。
AudioGroup代表了一个或多个AudioStreams本地终结点混合所有AudioGroup AudioStreams并有选择与设备扬声器和麦克风在同一时间互动。
对于更复杂的应用,还要顾及RTP协议本身的限制。


若要使用RTP API,应用程序必须添加此权限



获取麦克风: