本文主要是记录Android端音频开发
Android SDK 提供了两套音频采集的API,分别是:MediaRecorder 和 AudioRecord
MediaRecorder 可以直接把手机麦克风录入的音频数据进行编码压缩(如AMR、MP3,3gp等)并存成文件
google API : https://developer.android.com/reference/android/media/MediaRecorder.html
关于播放,Android SDK 提供了3套音频播放的API,分别是:MediaPlayer,SoundPool,AudioTrack,MediaPlayer 更加适合在后台长时间播放本地音乐文件或者在线的流式资源; SoundPool 则适合播放比较短的音频片段,比如游戏声音、按键声、铃声片段等等,它可以同时播放多个音频; 而 AudioTrack 则更接近底层,提供了非常强大的控制能力,支持低延迟播放,适合流媒体等场景
使用比较简单,直接上简单例子,本例播放使用MediaPlayer ,MediareRcorder 还可以用于录制视频
import android.content.pm.PackageManager;
import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.os.Environment;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.cl.slack.mediarecorder.R;
import java.io.IOException;
import static android.Manifest.permission.RECORD_AUDIO;
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
public class MediaRecorderAudioA