自制最简Android(安卓)MusicPlayer
16lz
2022-01-25
播放的文件放到assets文件夹中,文件名 1.mp3
MainActivity
package com.media.player;import java.io.IOException;import android.media.MediaPlayer;import android.os.Bundle;import android.app.Activity;import android.content.res.AssetFileDescriptor;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {private static final String TAG = MainActivity.class.getSimpleName();private String path = "file:///android_asset/1.mp3";private MediaPlayer mediaPlayer;private TextView text;private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);text = (TextView) findViewById(R.id.text);button = (Button) findViewById(R.id.button);button.setText("Play");button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubif (mediaPlayer.isPlaying()) {text.setText("Play pause");mediaPlayer.pause();button.setText("Play");} else {text.setText("Playing");mediaPlayer.start();button.setText("Pause");}}});mediaPlayer = new MediaPlayer();InitMusic(path);mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mp) {// TODO Auto-generated method stub// ResetMusic(mp3Path);text.setText("Play start");mediaPlayer.start();}});}public void InitMusic(String path) {mediaPlayer.reset();try {AssetFileDescriptor descriptor = getAssets().openFd("1.mp3");mediaPlayer.setDataSource(descriptor.getFileDescriptor());mediaPlayer.prepare();} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalStateException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }@Overrideprotected void onDestroy() {if (mediaPlayer != null)mediaPlayer.release();super.onDestroy();}}
main.xml
更多相关文章
- android之文件的写入与读取
- android 通过资源文件名称获取资源文件id
- Android如何获取asset目录下所有文件的路径
- Android(安卓)Studio JDK版本问题报错
- Android文件合并时,打包出错
- 【Android深入解析】Manifest配置文件解析(上)(英文版)
- Android(安卓)APK反编译详解(附图)
- Android(安卓)将asserts文件夹内文件写入SD卡中
- NPM 和webpack 的基础使用