音视频即时通讯—Android 视频开发

移动互联网随着智能手机的普及应用越来越广泛,所谓移动互联网是将移动通信和互联网整合在一起,使移动设备(包括手机和上网本、Pad平台)可以随时随地地访问互联网资源和应用获取相应的信息和处理。

从2011年开始,“三网融合”正式被国务院纳入十二五计划并开始实施。国务院十分明确的把三网融合作为全面提高信息化水平的重要手段进行定位,彰显出三网融合在国家战略层面发展不可替代的重要性,也为三网融合在十二五期间的发展提出了明确的方向和目标。在同一的治理平台下,实现音频、视频、数据信号的传输和管理,提供各种宽带应用和传统电信业务,是一个真正实现宽带窄带一体化、有线无线一体化、有源无源一体化、传输接入一体化的综合业务网络。让一根光纤解决看电视、打电话、上网的梦想变为现实。现在一个网线通过WIFI能把所有的通信设备连接起来,移动互联网又具有随时随地的便利性,未来移动互联网将和传统的互联网平起平坐,甚至有超越的趋势!

根据这个大趋势,小编教大家如何通过Android系统开发音视频

如何在自己应用程序中播放一个可用的media音频:

1、将文件放到你的工程的res/raw文件夹中,在这个文件夹中,Eclipse插件将会找到它,同时,会将这个资源与你的R

类相关联起来;

2、创建一个MediaPlayer,并使用MediaPlayer.create与资源相关联起来,之后在实例中使用start()方法。

例如:MediaPlayer mp=MediaPlayer.create(context,R.raw.sound_file_1);

mp.start();

如果要想停止播放,使用stop()方法。如果你想稍后重新播放这段media,你必须在再次使用start()方法之前使用

reset()方法和prepare()方法来操作MediaPlayer对象。(create()第一次调用prepare())

如果想暂停播放,可以使用pause()方法。在你暂停的地方恢复播放功能使用start()方法即可实现。

播放一个文件

下面介绍如何播放一个文件:

1、用new创建一个MediaPlayer实例;

2、调用setDataSource()方法,这个方法有一个String类型的参数,这个String类型的参数包含了你所要播放的

文件的路径-本地文件系统或者是URL;

3、之后,先调用prepare()方法,然后才是start()方法。

例如:

MediaPlayer mp=new MediaPlayer();

mp.setDataSource(PATH_TO_FILE);

mp.prepare();

mp.start();

需要注意的一点是:如果你传递的是一个URL方式的文件,那么这个文件必须是可以下载的,并且是不间断的,简单地

如何录制media音频资源:

1、使用new创建一个实例android.media.MediaRecorder;

2、创建一个android.content.ContentValues实例并设置一些标准的属性,像TITLE,TIMESTAMP,最重要的是MIME_TYPE;

3、创建一个要放置的文件的路径,这可以通过android.content.ContentResolver在内容数据库中来创建一个入

口,并且自动地标志一个取得这个文件的路径。

4、使用MediaRecorder.setAudioSource()方法来设置音频资源;这将会很可能使用到MediaRecorder.AudioSource.MIC;

5、使用MediaRecorder.setOutputFormat()方法设置输出文件格式;

6、用MediaRecorder.setAudioEncoder()方法来设置音频编码;

7、最后,prepare()和start()所录制的音频,stop()和release()在要结束的时候调用。

recorder=new MediaRecorder();

ContentValues values=new ContentValues(3);

values.put(MediaStore.MediaColumns.TITLE,SOME_NAME_HERE);

values.put(MediaStore.MediaColumns.TIMESTAMP,System.currentTimeMillis());

values.put(MediaStore.MediaColumns.MIME_TYPE,recorder.getMimeContentType();

ContentResolver contentResolver=new ContentResolver();

Uri base=MediaStore.Audio.INTERNAL_CONTENT_URI;

Uri newUri=contentResolver.insert(base,values);  //在所给定的URL中向一个表格插入一列数据

//函数原型:final Uri insert(Url,ContentValues values);

if(newUri==null){

//这里需要异常处理,我们在这里不能创建一个新的内容入口

}

String path=contentResolver.getDataFilePath(newUri);

//可以使用setPreviewDisplay()来陈列一个preview 来使View适合

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

recorder.setOutputFile(path);

recorder.prepare();

recorder.start();

停止录制:

recorder.stop();

recorder.release();

在录制音频资源的过程中,使用到了ContentValues这个类,下面来解说这个类。

ContentValues这个类是用来存储一系列的值的,这些值要求ContentResolver能够process的。

ContentValues(int size)构造函数使用所给定的初始值创建一个空系列的值。

ContentValues(ContentValues from)这个构造函数创建一个从给定的ContentValues中来进行复制所产生的值。

这个类有如下的常用的方法:

void clear()  删除所有的值

boolean containsKey(String key) 如果这个对象有已命名的值就返回真

int describeContents() 描述值类型

Object get(String key) 获得值

void put(String key,Integer value)增加一个值到对应的set中

小编在开发过程中大部分开发内容是借鉴了AnyChat这个免费的开发文档进行二次开发的。AnyChat在很多下载网址都提供下载。里面用于个人研究和演示是免费的!最主要的是AnyChat SDK是一套多媒体即时通讯平台库,绝大多数需要用到音视频交互的系统都可以采用AnyChat SDK来开发。而且AnyChat SDK的跨平台特性是其与众不同的亮点之一,目前支持Windows、Unix、Linux(x86、ARM)、Android、ios平台等,基本一般用户使用的开发平台都可以使用的,最难能可贵的是支持VC++、Delphi、C#、VB.Net、Qt等开发语言,不得不说是一个开发者借鉴的神奇平台!

可以到网址下载不同的平台版本:www.anychat.cn

而且还有技术论坛,有任何疑问都可咨询,有专业人会回答的:http://bbs.anychat.cn/forum.php

视频录制是Android 视频开发其中之一,音视频的即时通讯、语音佟通信、视频监控、视频路况等开发都是在Android平台上去实现,今后跨平台的Android市场更是丰富多彩-。

时间: 2024-10-12 19:31:33

音视频即时通讯—Android 视频开发的相关文章

iOS平台上的音视频即时通讯应用开发

现在IOS很是火热,一大堆开发人员在捣鼓IOS平台的开发,相信大家也使用过QQ的语音视频对话功能,但是不知道大家有没有试过自己来开发一个基于IOS平台的音视频即时通讯的应用,这个应用必须能够做到跨平台 支持iOS平台设备上的音频即时通讯应用开发 提供Objective-C语言API接口,开放示例源代码 集成H.264.AAC.AMR等编解码技术 封装音视频的采集.编解码.传输.显示和播放等模块 支持Android.Web.PC等设备和iOS之间的互联互通 想要在IOS平台下实现音视频通信,最快捷

音视频即时通讯 功能需求汇总

即时通讯开发,也叫音视频即时通信开发.随着互联网的发展,人们之间的交流逐步从电话移向网络.每天都有相当多的人在使用各种网络交流工具,如Anychat,腾讯QQ,ICQ,MSN,新浪微博. 可以看出人们对于网络上即时的沟通方式是非常敏锐的,所能容纳的程度也远远超过我们的预计.然而目前大部分网络交流工具都还是以文字为主,语音视频功能大部分还是不够成熟,完全通过网络实现语音视频需要考虑到很多方面,如:硬件.软件.技术.网络:等等.纯文字沟通方式效率非常低而且也不符合人们平素的习惯,作为一种消遣的工具尚

2014年音视频即时通讯市场的割据

当腾讯微信几年下来获取了几亿用户量之后,上个月双11晚上,腾讯微信正式推出"微信电话本"应用,利用网络通信技术,微信一键登录之后使用流量便可与微信好友直接通话,整体交互界面.流程和体验与手机打电话别无二致,关键只需耗费不需要支付其他费用就可以实现高清免费视频通话功能.与IM应用的语音通话功能相比,微信电话本的通话质量更高,而且可以直接拨打手机通讯录好友,应用场景更广,微信挑战三大运营商的声音不绝于耳! 就这样,腾讯在用微信大力挫伤传统通信的短信业务之后,又开始了对语音通话新一轮的冲击.

音视频即时通讯SDK有什么技术?可以做什么?

AnyChat SDK(AnyChat音视频互动开发平台)是一套跨平台的(*)即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台. AnyChat音视频互动开发平台(SDK)包含了音视频处理模块(采集.编解码).流媒体管理模块(丢包重传.抖动平滑.动态缓冲).流媒体播放模块(多路混音.音视频同步)以及P2P网络模块(N

如何设置视频的帧率、分辨率、码率来调节音视频即时通讯的质量

在通过网络进行音视频即使通讯的时候,选择合适的视频质量参数就需要根据实际的系统运行环境综合来决定,下面我们针对常见的网络环境给出一些建议供参考. 目前常见的网络主要有四种类型:ADSL拨号接入方式.光纤接入方式.3G拨号接入方式.局域网. ADSL拨号接入方式是一种非对称的网络接入,下行流量通常有2Mbps.4Mbps.6Mbps等,而上行流量通常都是512kbps,即上行速率和下行速率是不对称的.此时如果需要使用AnyChat进行音视频的交互,则上传流量只能用512kbps作为参考值,适合的分

币圈链圈IM聊天直播即时通讯软件app开发

说到社交平台,几乎所有人的第一反应是现在腾讯的微信,微信和QQ可以说已经占用了大部分. 我们平常使用的社交系统被称为im及时通讯系统. 币圈即时通讯软件开发T:前面138中间2315后面3201 在通过区块链技术基础上,打造币圈的即时通讯系统,为币圈的用户玩家提供一个全球用户聚集地,通过币圈的隐秘即时通讯系统,可以畅聊币圈资讯,分享全球币圈的最新动态,一键分享世界各地币圈用户玩家,打造币圈交易.分享.信息.娱乐一体化区块链IM社交即时通讯系统. 币圈链圈IM聊天即时通讯软件app开发都有哪些优势

音视频即时通讯开发中音频模式的采集

在很多即时通讯应用中,会根据应用场景的不同,需要对音频输入源进行选择,不同的应用场景对应不同的音频工作模式.需要支持多种音频工作(采集)模式,包括:     1.发言模式(默认):自动选择麦克风为音频输入源设备,用户说话的声音被麦克风采集,启动音频特效处理(包括:回音消除.静音检测.噪音抑制.自动增溢),该模式通常应用于互动交流,用户发言讨论等场合:     2.放歌模式:自动选择立体声混音输入源设备,本地计算机所播放的声音被采集,同时SDK内部会自动屏蔽其它用户的声音(如果不屏蔽,则用户的声音

远程网络音视频即时通讯技术

多媒体指挥调度系统集指挥调度.即时通讯.视频会议.音视频录播等功能于一体.该系统结构严谨.技术先进.性能稳定,适合于解放军.武警.边防.生产企业等单位.通过该系统完成远程和现场之间的语音.数据.图像等信息的实时交互,有效解决了在不同网络带宽条件下的音视频交互,达到了充分有效利用现有网络和设备资源,实现远程可视化指挥.调度目的. 网络音视频技术是基于嵌入式结构的音视频处理.控制及传输设备,将模拟音视频信号经过编码压缩后通过以太网接口,将低码率的视音频编码数据以IP 包的形式传送给多个远端PC或网络

基于openfire+smack即时通讯instant message开发

前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire 是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用3.8.1版本,这个版本是当前最新的版本,而且网上可以找到下载的源代码. 即时通信客户端可使用spark2.6.3,这个版本是目前最新的release版本,经过测试发现上一版本在视频支持,msn网关支持上可能有问题,所以选择openfire3.8.1+spark2.6.3是最合适的选择. Smac