视频录制功能正在走来,在Androidsdk中有与之相关的类:android.media.MediaRecorder。当然,因为模拟器上没有提供必要的硬件设施,所以在学习过程中并不能实现。Media能够播放来自任何地方的文件:一个实际的文件资源,系统中的一个文件或者是一个可用的网络链接。

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.Uri base=MediaStore.Audio.INTERNAL_CONTENT_URI;

8.Uri newUri=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录制音频的三种方式

对于录制音频,Android系统就都自带了一个小小的应用,可是使用起来可能不是特别的灵活.所以有提供了另外的俩种. 下边来介绍下这三种录制的方式; 1.通过Intent调用系统的录音器功能,然后在录制 ...

Android MediaRecorder录制音频

今天介绍一下在Android中怎么录制音频,在Android中使用MediaRecorder来录制音频,步骤: 1.创建MediaRecorder对象. 2.调用MediaRecorder对象的set ...

Android MediaPlayer播放一般音频与SoundPool播放短促的音效

[1]使用MediaPlayer实现一般的音频播放 MediaPlayer播放通常的音频文件 MediaPlayer mediaPlayer = new MediaPlayer(); if (medi ...

Android音频开发之——如何播放一帧音频

本文重点关注如何在Android平台上播放一帧音频数据.阅读本文之前,建议先读一下,因为音频开发过程中,经常要涉及到这些基础知识,掌握了这些重要的 ...

Android项目开发五-《星星生活志》1.使用MediaRecorder录制音频

Android设备实现录制音频的简单demo 转载请注明; http://blog.csdn.net/u013670933/article/details/26089487 代码例如以下: publi ...

【转】解决在Android设备播放音频与其他应用重音的问题,并监听耳机的控制按钮

概述 在安卓开发中免不了需要播放一点音乐了,音频了.但是这时候有别的应用正在播放,这时候就会出现重音的现象,完全影响用户体验,我们的项目就遇上了这样的尴尬,然后查找了一些文档,记录一下: 管理音频焦点 ...

【Android】播放音频的几种方式介绍

接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPl ...

Android开发笔记——视频录制播放常见问题

本文分享自己在视频录制播放过程中遇到的一些问题,主要包括: 视频录制流程 视频预览及SurfaceHolder 视频清晰度及文件大小 视频文件旋转 一.视频录制流程 以微信为例,其录制触发为按下(住) ...

MFC录制音频和播放音频

一.录制音频 在windows中提供了相应的API函数(waveIn这个族的函数)实现录音功能:在使用这些函数时,一定要引入相应的头文件 #include #inc ...

随机推荐

text-rendering 详解

原文链接:http://www.feeldesignstudio.com/2013/05/text-rendering Text-rendering 属性是一个非标准属性,主要用来告诉渲染引擎(ren ...

MySQL 死锁日志分析

------------------------ LATEST DETECTED DEADLOCK ------------------------ 140824  1:01:24 *** (1) T ...

IntelliJ IDEA 14.x 创建工作空间与多个Java Web项目

以往的Eclipse.NetBeans等开发工具不同,IDEA的Project相当与Eclipse的Workspace,而Module相当于Project. 下边就给出Eclipse与IDEA的概念的 ...

Mysql新建用户和数据库并授权

测试环境:Centos 6.3和Mysql 5.3 一.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into my ...

C/C++语言简介之运算符

比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移.例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 0 ...

11、TopN实战

1.Java版本: 1.1.取前3 package sparkcore.java; import java.util.List; import org.apache.spark.SparkConf; ...

启用phpstorm代码提示功能

参考:http://www.dawnfly.cn/article-1-331.html mac下实际上将省电禁用即可

Docker GitLab镜像部署

环境说明 系统环境: CentOS Linux release 7.4 docker Version: 18.03.1-ce 运行镜像 docker run --detach \ --hostname ...

JIRA 初体验

JIRA 使用神奇的JQL查询数据,很nice啊 ! 官网API:   https://docs.atlassian.com/jira/REST/latest/#d2e2344 测试一下search: ...

Android.mk (2) 函数进阶教程 - 分支、循环、子程序

https://www.jianshu.com/p/674dc7d7b4b0 函数进阶教程 - 分支.循环.子程序 按照面向过程程序设计的标准流程,我们讲完了顺序结构,就要讲分支.循环和子程序.下面我 ...

android 如何播放音频,android如何播放和录制音频相关推荐

  1. Android多媒体功能开发(11)——使用AudioRecord类录制音频

    AudioRecord类优点是能录制到缓冲区,能够实现边录边播(AudioRecord + AudioTrack)以及对音频的实时处理(如QQ电话).缺点是输出是PCM格式的原始采集数据,如果直接保存 ...

  2. Android Studio App开发中使用录音机、MediaRecorder录制音频和MediaPlayer播放音频讲解及实战(附源码)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一.使用录音机录制音频 手机有自带的系统相机,也有自带的系统录音机,只要在调用startActivityForResult之前指定该动作,就会自动 ...

  3. Android音频处理知识(一)MediaRecorder录制音频

    在Android中处理音频方面的知识一直是一块很重要的知识,正好最近公司做一个关于打卡的内容,所以正好总结一下相应的知识,其实这块的知识挺杂挺乱的,所以这个不打算一次讲解完,分开给大家讲解,如果有什么 ...

  4. AudioUnit录制音频+耳返(四)

    前言 视频直播,K歌应用等等都会有音频录制的功能,音频录制时还可以带有耳返效果,那这些是如何实现的呢?如果仅仅是录制音频,那使用IOS的AudioQueue框架实现即可,但是在直播这些实时性要求比较高 ...

  5. 我的Android进阶之旅------Android MediaPlayer播放网络音频的实例--网络mp3播放器

    上一篇写了个简单的MP3播放器 ,这次写一个可以播放网络音频资源的播放器 本实例可以实现音乐播放器除了来电的时候会暂停播放,通话结束后恢复播放外,打开其他的Activity都可以继续播放音乐,享受一边 ...

  6. android保存播放进度,Android MediaPlayer控制进度播放音频

    Android MediaPlayer控制进度播放音频 本文简单介绍MediaPlayer获取播放进度和设置进度播放. 1.获取音频文件的播放时间总长度 //返回的是int的毫秒级数据 /** * G ...

  7. Android 入门第九讲01-音频(本地音乐播放,暂停,继续播放,获取播放时间,快进到指定位置,变速播放,播放data/data/目录下的音频文件,播放网络歌曲)

    Android 入门第九讲01-音频(本地音乐播放,暂停,继续播放,获取播放时间,快进到指定位置,变速播放,播放data/data/目录下的音频文件,播放网络歌曲) 准备 1.储存在raw文件夹 2. ...

  8. 通过howler.js实现在Android下的微信浏览器自动播放音频

    howler.js是一个把webaudio进行封装的一个js库,通过它可以轻松的对音频文件进行控制播放.暂停.甚至指定播放音频中的某个片段.以及加快等等,这里我们只关注它在微信浏览器中自动播放的问题, ...

  9. android 字节转wav,android开发:把一个byte数组转换成wav音频文件,并且播放

    ============问题描述============ 如题,byte数组转换成wav音频文件,并且播放,下面代码能生成data/data/com.example.playwav/cache/tem ...

  10. Android 音频录音与播放

    介绍音频的采集.编码.生成文件.转码等操作,通过 AudioRecord 采集音频,生成三种格式的文件格式(pcm.wav.aac),用 AudioStack 来播放这个音频. 一.PCM .WAV. ...

最新文章

  1. 一楼二楼教师办公室图书馆操场计算机房,人教PEP四年级下册英语知识汇总.docx...
  2. 只需几分钟跟小猫学前端(内含视频教程):nodejs基础之用express、ejs、mongdb建设简单的网站...
  3. selenium webdirver之rdoc使用
  4. [UE4]性能优化指南(美术向)
  5. C#线程篇---Task(任务)和线程池不得不说的秘密
  6. excel附件下载 Response 参数设置 (自定义文件并并解决中文乱码)
  7. [转载]Linux批量替换不同文件中的相同字符串
  8. 随想录(学习《许式伟的架构课》)
  9. 关于Windows 2003 sp1不能打开CHM文件的问题
  10. c 调用html方法,如何在C中调用eval()?
  11. Python入门--特殊属性
  12. php获取服务器类型,php获取服务器操作系统类型的方法
  13. 计算机硬盘序列号是空白,为什么小弟我的获取硬盘序列号的代码,在有些电脑下没法获取到硬盘序列号,即返回值为空白...
  14. python循环结构高一信息技术会考_高一信息技术会考样题及参考答案
  15. 微信小程序WXS的使用
  16. 使用StreamTorrent观看流媒体电视
  17. 被字句15个_二年级语文上册把字句被字句练习
  18. 谁说我们会赚不会花?【IT人双十一购物攻略】
  19. 关于STM32定时器中TI1FP1 与TI1FP2及相关话题
  20. 批处理获取整台计算机的盘符,可以用批处理的方法更改盘符吗?

热门文章

  1. word2010中如何去掉标题前面的小黑点
  2. 打开计算机任务栏有桌面没,电脑桌面任务栏不显示打开的窗口怎么办
  3. 各层电子数排布规则_电子式排布规律
  4. 客户价值分析之RFM模型
  5. 清除默认浏览器CSS样式
  6. cdr怎么做文字路径_CorelDRAW如何制作环绕圆形的路径文字
  7. 天气预报接口使用及示例
  8. 水彩风建筑效果图制作教程
  9. Vue 中英文切换设置
  10. PowerBI-筛选器函数-LOOKUPVALUE