设为首页 加入收藏

TOP

Android音频视频开发
2014-11-24 11:15:15 来源: 作者: 【 】 浏览:0
Tags:Android 音频视频 开发

2.1如何播放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()方法。


Java代码:


1.MediaPlayer mp=new MediaPlayer();


2.mp.setDataSource(PATH_TO_FILE);


3.mp.prepare();


4.mp.start();


5.需要注意的一点是:如果你传递的是一个URL方式的文件,那么这个文件必须是可以下载的,并且是不间断的,简单地说就是在播放的同时进行着下载。



2.2如何录制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()在要结束的时候调用。


2.3实例分析


Java代码:


1.recorder=new MediaRecorder();


2.ContentValues values=newContentValues(3);


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


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


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


6.ContentResolver contentResolver=newContentResolver();


7.Uribase=MediaStore.Audio.INTERNAL_CONTENT_URI;


8.UrinewUri=contentResolver.insert(base,values);


9.//在所给定的URL中向一个表格插入一列数据


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


11.if(newUri==null){


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


13.}


14.Stringpath=contentResolver.getDataFilePath(newUri);


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


16.recorder.setAudioSource(MediaRecorder.AudioSource.MIC);


17.recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);


18.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);


19.recorder.setOutputFile(path);


20.recorder.prepare();


21.recorder.start();


停止录制:


Java代码:


1.recorder.stop();


2.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中


还有一个类就是ContentResolver,这个类想内容模型提供了应用程序数据


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android音频介绍 下一篇QT串口接收十六进制

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)
·使用华为开发者空间 (2025-12-27 04:19:24)
·Getting Started wit (2025-12-27 03:49:24)
·Ubuntu 上最好用的中 (2025-12-27 03:49:20)