Android开发之播放音频
2016-03-13 19:33
405 查看
布局文件 ,MediaPlayer类,自己看API文档
MainActivity.java
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/play" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Play" /> <Button android:id="@+id/pause" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Pause" /> <Button android:id="@+id/stop" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Stop" /> </LinearLayout>
MainActivity.java
package com.example.playaudiotest; import java.io.File; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { private Button play; private Button pause; private Button stop; private MediaPlayer mediaPlayer=new MediaPlayer(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); play=(Button)findViewById(R.id.play); pause=(Button)findViewById(R.id.pause); stop=(Button)findViewById(R.id.stop); play.setOnClickListener(this); pause.setOnClickListener(this); stop.setOnClickListener(this); initMediaPlayer(); //初始化 MediaPlayer } private void initMediaPlayer() { try{ File file=new File(Environment.getExternalStorageDirectory(),"music.mp3"); mediaPlayer.setDataSource(file.getPath());//指定音频文件的路径 mediaPlayer.prepare();// 让MediaPlayer进入到准备状态 }catch(Exception e){ e.printStackTrace(); } } public void onClick(View v){ switch(v.getId()){ case R.id.play: if(!mediaPlayer.isPlaying()){ mediaPlayer.start(); //开始播放 } break; case R.id.pause: if(mediaPlayer.isPlaying()){ mediaPlayer.reset(); //暂停播放 } break; case R.id.stop: if(mediaPlayer.isPlaying()){ mediaPlayer.reset(); //停止播放 initMediaPlayer(); } break; default: break; } } protected void onDestroy(){ super.onDestroy(); if(mediaPlayer!=null){ if(mediaPlayer!=null){ mediaPlayer.stop(); mediaPlayer.release(); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关文章推荐
- Launcher 解析(一)
- Android中的一些基础知识(一)
- AndroidStudio文件夹结构视图讲解
- Android中的一些基础知识(二)
- android之序列化
- android Touch()事件分发机制
- AndroidStudio 创建aidl文件时的问题,参考资料《Android的开发艺术探索》
- Android 属性动画(Property Animation) 完全解析 (下)
- Android 属性动画(Property Animation) 完全解析 (上)
- Android布局(一)layout_gravity 属性和 gravity属性的区别
- 【MDCC2015】 平台与技术-Android专场(下):共享Android应用开发经验
- 如何完全退出Android程序 (2012-07-20 22:29:26)
- Android禁止横竖屏和解决切换屏幕时重启Activity的方法
- 如何让Android横竖屏切换时不销毁当前activity
- 在 Android 程序中禁止屏幕旋转和避免重启Activity
- 设计模式_适配器模式
- Android中从视频中提取音频
- Android音频开发(3):如何播放一帧音频
- android 回调机制实例!
- [android] 插入一条记录到系统短信应用里