很简单的直接放出源码:

package com.sunmi.audiotrack;import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioTrack;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import android.util.Log;public class MainActivity extends AppCompatActivity {private static final int BUFFER_SIZE = 1024 * 2;private ReadThread mReadThread;private AudioTrack audioRtack;private FileInputStream dis;private byte[] mBuffer;private File recordingFile;private class ReadThread extends Thread {@Overridepublic void run() {super.run();audioRtack.play();try {int cnt = 0;while((cnt = dis.read(mBuffer)) > 0){audioRtack.write(mBuffer, 0, cnt);Log.e("AudioTrack","cnt = " + cnt);}} catch (RuntimeException | IOException e) {e.printStackTrace();}try {dis.close();} catch (IOException e) {e.printStackTrace();}}}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);recordingFile = new File("/data/xusong-shzj2.wav");try {dis = new FileInputStream(recordingFile);}catch (FileNotFoundException e){e.printStackTrace();onDestroy();}int streamType = AudioManager.STREAM_MUSIC;int simpleRate = 44100;int channelConfig = AudioFormat.CHANNEL_OUT_STEREO;int audioFormat = AudioFormat.ENCODING_PCM_16BIT;int mode = AudioTrack.MODE_STREAM;mBuffer = new byte[BUFFER_SIZE];int minBufferSize = AudioTrack.getMinBufferSize(simpleRate , channelConfig , audioFormat);audioRtack = new AudioTrack(streamType , simpleRate , channelConfig , audioFormat ,Math.max(minBufferSize , BUFFER_SIZE) , mode);mReadThread = new ReadThread();mReadThread.start();}
}

Android下最简单的AudioTrack播放PCM的例子相关推荐

  1. Android Studio实现简单的音乐播放(播放、暂停、停止、上一首、下一首)

    Android Studio实现简单的音乐播放(播放.暂停.停止.上一首.下一首) 简要介绍 采用Service组件实现后台播放,BroadcastReceiver实现消息传递.BroadcastRe ...

  2. NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM(方法签名,CallXXXMethod)

    NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM 题目有点复杂,不过确实就是那么回事.这章想记录的内容比较多,先列出来: native static 与 nat ...

  3. AudioTrack播放PCM音频

    一.前言 说到在 Android 平台上播放音频,我们最先想到的是 MediaPlayer.系统 API 对其做了比较全面的封装,开发者用少量的代码就能实现播放功能.MediaPlayer 可以播放多 ...

  4. 一个基于Android开发的简单的音乐播放器

    一个基于Android开发的简单的音乐播放器 记得当时老师让我们写因为播放器时,脑子一头雾水,网上杂七杂八的资料也很少有用,因此索性就自己写一篇,希望对有缘人有用. 因为有好多人问我要源码,所以附上g ...

  5. AudioTrack播放pcm格式音频

    AudioTrack播放pcm格式音频 package com.zero.demo;import android.content.Context; import android.media.Audio ...

  6. Android AudioTrack播放PCM文件

    上篇文章写了使用AudioRecord采集音频,为了测试采集音频是否正确,可以通过AudioTrack播放音频试下. AudioTrack只能播放PCM格式的文件.PCM全称是Pulse Code M ...

  7. Android编程中利用AudioTrack播放PCM数据在音频的最后出现重复回声现象的解决方案

    1 问题描述 今天在进行Android编程时遇到一个很奇怪的问题  重点说一下 这里我的测试机用的是"小米Note"  的确不怎么样 我在"华为P8"上面测试就 ...

  8. 音视频开发系列(28)AudioTrack播放PCM音频

    目录 AudioTrack和MediaPlayer AudioTrack的API介绍(构造.操作.状态机) 具体实现(Static和Stream两种模式) 遇到的问题 收获 一.MediaPlayer ...

  9. AudioTrack 播放PCM音频数据

    AudioTrack 可以用来播放PCM数据,上一篇博客我讲了AudioRecord可以录制PCM数据 AudioTrack实例可以在两种模式下运行:静态或流式传输. 在Streaming模式下,应用 ...

  10. 使用AudioTrack播放pcm流式音频

    一.什么是AudioTrack /*** The AudioTrack class manages and plays a single audio resource for Java applica ...

最新文章

  1. Stuts的Web.xml 详解
  2. Dubbo 一篇文章就够了:Dubbo遇到初恋
  3. C# Winform中DataGridView的DataGridViewCheckBoxColumn CheckBox选中判断
  4. JVM调优:常见垃圾回收器组合
  5. 如何实现标准TCODE的屏幕增强
  6. SOLID 设计原则 In C# 代码实现
  7. dedecms织梦上传图片302Error错误
  8. android studio自定义类,为AndroidStudio设置自定义类注释
  9. 工具的使用——windows操作系统的使用(二)
  10. numpy.random 模块中文文档学习笔记
  11. 模拟 Vue 手写一个 MVVM
  12. 如何将数据渲染到页面上?
  13. Oracle merge into 使用记录
  14. can not find Artifact XXX 的原因
  15. VMWare Fusion虚拟机安装与配置教程
  16. 网页背景颜色怎么设置css,css怎么设置网页背景颜色
  17. Apache ab测试解析
  18. 深度学习入门,Keras Conv2D类参数详解
  19. 浏览器主页被篡改怎么办,主页被篡改恢复方法
  20. 应用宝认领应用签名_腾讯开放平台第三方应用签名参数sig的说明

热门文章

  1. error: not found: value sc
  2. pthread_mutex_init 互斥锁pthread_mutex_t的使用(转)
  3. 一步一步学习hadoop(九)
  4. addEventListener监听
  5. 什么是.NET应用程序域
  6. mySQL中replace的用法
  7. 0538-实战将lnmp服务中的上传目录独立分离到nfs服务器
  8. Linux安装Nginx1.7.4、php5.5.15和配置
  9. [20160325]bbed是否有4G的限制.txt
  10. 用C#实现将html文件转换为chm文件