摘要: AudioRecord类相对于MediaRecorder来说,更加接近底层,为我们封装的方法也更少。然而实现一个AudioRecord的音频录制程序也很简单。本实例代码如下:可惜,本实例测试时有个问题,在录制的时候,会出现buffer over。缓存泄露,待解决。package demo.camera; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; impo... 阅读全文
posted @ 2012-07-31 23:09 water0504 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 在Android中录音可以用MediaRecord录音,操作比较简单。但是不够专业,就是不能对音频进行处理。如果要进行音频的实时的处理或者音频的一些封装就可以用AudioRecord来进行录音了。这里给出一段代码。实现了AudioRecord的录音和WAV格式音频的封装。用AudioTrack和AudioTrack类可以进行边录边播,可以参考:http://blog.sina.com.cn/s/blog_6309e1ed0100j1rw.html我们这里的代码没有播放。但是有封装和详解,如下:package com.ppmeet; import java.io.File; import... 阅读全文
posted @ 2012-07-31 23:06 water0504 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 在android中采集音频的api是android.media.AudioRecord类其中构造器的几个参数就是标准的声音采集参数以下是参数的含义解释public AudioRecord (int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)Since: API Level 3Class constructor.ParametersaudioSourcethe recording source. See MediaRecorder.AudioSource f 阅读全文
posted @ 2012-07-31 23:01 water0504 阅读(383) 评论(0) 推荐(0) 编辑
摘要: Socket是TCP/IP协议上的一种通信,在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信。Client A 发信息给 Client B , A的信息首先发送信息到服务器Server ,Server接受到信息后再把A的信息广播发送给所有的Clients首先我们要在服务器建立一个ServerSocket ,ServerSocket对象用于监听来自客户端的Socket连接,如果没有连接,它将一直处于等待状态。Socket accept():如果接收到一个客户端Socket的连接请求,该方法将返回一个与客户端S 阅读全文
posted @ 2012-07-30 23:16 water0504 阅读(240) 评论(0) 推荐(0) 编辑
摘要: android中使用的是java的socket模型,如果你学过java网络编程,那么你对它一定不陌生。今天我主要使用TCP协议实现通信的。小知识点:UDP协议和TCP协议的不同。UDP是把数据都打成数据包,数据包上自带通信的地址,但是数据包发出去之后UDP协议不能保证你能否收到。而TCP协议要求接收方收到数据后给个回应,当发送重要数据的时候就可以选择TCP协议。UDP发送数据的量是有限的,而TCP是没有限制的,当然这导致UDP很快,TCP相对慢点。根据不同的情况,有不同的选择。一,通信的基本结构:客户端和服务器端 客户端这边是Socket类:客户端指定给某个服务器端上的某个端口发送消息。比如向 阅读全文
posted @ 2012-07-30 23:03 water0504 阅读(523) 评论(0) 推荐(0) 编辑
摘要: Socket通常也称做”套接字“,用于描述IP地址和端口,废话不多说,它就是网络通信过程中端点的抽象表示。值得一提的是,Java在包java.net中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类,使用起来很方便!下面将首先创建一个SocketServer的类作为服务端如下,该服务端实现了多线程机制,可以在特定端口处监听多个客户请求,一旦有客户请求,Server总是会创建一个服务纯种来服务新来的客户,而自己继续监听。程序中accept()是一个阻塞函数,所谓阻塞性方法就是说该方法被调用后将等待客户的请求,直到有一个客户启动并请 阅读全文
posted @ 2012-07-30 22:56 water0504 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 1.背景自适应且不失真问题的存在制作自适应背景图片是UI开发的一个广泛问题,也是界面设计师渴望解决的问题,我相信我们彼此都深有体会。比如,列表的背景图一定,但是列表的高度随着列表数据项会发生变化;标题栏的背景,无论横屏还是竖屏,高分辨率还是低分辨率,都能自动填充满,而且不失真等等背景问题。根据以往的经验,我们一般采用先切图后拼凑的做法,这种做法本来我想在这里和大家介绍一下,其实有的时候还是很有用的,但是说起来会比较麻烦,就不说这个非重点了,略去,如果大家真的要介绍,在回复中说明,我再考虑一下。Android针对这种情况,专门制作了一种.9.PNG格式来解决这个问题。2.9.PNG格式。我不想在 阅读全文
posted @ 2012-07-29 20:07 water0504 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 一、什么是9.png: 可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。 千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会 看不见摸不着(详情见下面具体内容)。 9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意(挺高级的吧),也许有 的同学在做美化的时候很喜欢一个图片素材,重命名替换了drawable-hdpi下的素材,但是运行系统后发现,怎么被拉伸得不像样子 了,哈哈,这就是9.png图片不能轻 阅读全文
posted @ 2012-07-29 19:51 water0504 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 前言最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个以Apache License 2.0 开源的 ZXing项目。Zxing项目里的Android实现太过复杂多余东西太多,得对其进行简化。前提条件下载源代码:点击这里编译核心库:Zxing的主页上有介绍具体步骤,大家也可以参照这篇博文:android 条码识别软件开发全解析(续2详解绝杀!)导入项目打开Eclipse 导入 源码中的 Android 项目,然后右击项目 选择“Build path”——》"Add External Archives" 把核心库 core.jar文件加 阅读全文
posted @ 2012-07-29 19:46 water0504 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 一、main.xml布局文件<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 阅读全文
posted @ 2012-07-24 19:40 water0504 阅读(477) 评论(0) 推荐(0) 编辑