android中MediaPlayer类的用法
2024-08-31 19:54:42
用法直接看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卡得权限
最新文章
- LA 3942 - Remember the Word (字典树 + dp)
- 看了汤姆大叔的“你真懂JavaScript吗?”的一些感慨
- ndk学习19: 使用Eclipse调试so
- 关于HTML标签(元素)的那些事?
- 标准SAP中的物料类型
- ANDROID_MARS学习笔记_S01原始版_023_MP3PLAYER003_播放mp3
- java之文件夹
- JQuery日记6.5 Javascript异步模式(一)
- POJ 1511	Invitation Cards 正反SPFA
- SSH防爆破脚本
- 常用的Maven依赖
- Leetcode_13_Roman to Integer
- mac 电脑进入root用户
- springboot的几种启动方式
- HDU - 5952 Counting Cliques(DFS)
- Docker Compose(八)
- MySQL分析函数实现
- C语言 &#183; 成绩查询系统
- 【网络编程】socket异常
- ubuntu 16.04 install wine
热门文章
- quartz(8)--其他
- Java Collections Framework Java集合框架概览
- visual stdio 2012 c#学习笔记1
- 三十六 Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码
- Neutron的安全组原理
- 【spark】示例:求Top值
- Prism开发人员指南5-WPF开发 文档翻译(纯汉语版)
- Git和SVN之间的区别
- lzugis——Arcgis Server for JavaScript API之自定义InfoWindow(续)
- Arcgis for Androd API开发系列教程(一)——地图显示与GPS定位