用法直接看sample

package com.turtle920.androidaudioprocess;

import android.media.MediaPlayer;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button; import java.io.IOException; public class MainActivity extends AppCompatActivity { MediaPlayer mp = new MediaPlayer();
float leftVol=0.5f, rightVol=0.5f;
String song = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Music/tf.mp3"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); try {
mp.setDataSource(song);
mp.prepare();
mp.setVolume(leftVol,rightVol);
} catch (Exception e) {
Log.e("DEBUG", "" + e.toString());
e.printStackTrace();
} Button button1 = (Button) findViewById(R.id.button_start);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.start();
}
}); Button button2 = (Button) findViewById(R.id.button_pause);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.pause();
}
}); Button button3 = (Button) findViewById(R.id.button_replay);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
try {
mp.prepare();
} catch (IOException e) {
e.printStackTrace();
}
}
}); Button button4 = (Button)findViewById(R.id.button_l);
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (leftVol+0.05f<=1.0f) leftVol+=0.05f;
if (rightVol-0.05f>=0f) rightVol-=0.05f;
Log.e("DEBUG",""+leftVol+" "+rightVol);
mp.setVolume(leftVol, rightVol);
}
}); Button button5 = (Button)findViewById(R.id.button_r);
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (leftVol-0.05f>=0f) leftVol-=0.05f;
if (rightVol+0.05f<=1.0f) rightVol+=0.05f;
Log.e("DEBUG",""+leftVol+" "+rightVol);
mp.setVolume(leftVol, rightVol);
}
}); }
}

注意要在manifest里申明权限

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

另外如果真机环境API 23+ 还需要在机子上给app读取SD卡得权限

最新文章

  1. LA 3942 - Remember the Word (字典树 + dp)
  2. 看了汤姆大叔的“你真懂JavaScript吗?”的一些感慨
  3. ndk学习19: 使用Eclipse调试so
  4. 关于HTML标签(元素)的那些事?
  5. 标准SAP中的物料类型
  6. ANDROID_MARS学习笔记_S01原始版_023_MP3PLAYER003_播放mp3
  7. java之文件夹
  8. JQuery日记6.5 Javascript异步模式(一)
  9. POJ 1511 Invitation Cards 正反SPFA
  10. SSH防爆破脚本
  11. 常用的Maven依赖
  12. Leetcode_13_Roman to Integer
  13. mac 电脑进入root用户
  14. springboot的几种启动方式
  15. HDU - 5952 Counting Cliques(DFS)
  16. Docker Compose(八)
  17. MySQL分析函数实现
  18. C语言 &#183; 成绩查询系统
  19. 【网络编程】socket异常
  20. ubuntu 16.04 install wine

热门文章

  1. quartz(8)--其他
  2. Java Collections Framework Java集合框架概览
  3. visual stdio 2012 c#学习笔记1
  4. 三十六 Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码
  5. Neutron的安全组原理
  6. 【spark】示例:求Top值
  7. Prism开发人员指南5-WPF开发 文档翻译(纯汉语版)
  8. Git和SVN之间的区别
  9. lzugis——Arcgis Server for JavaScript API之自定义InfoWindow(续)
  10. Arcgis for Androd API开发系列教程(一)——地图显示与GPS定位