自制最简Android MusicPlayer
来源:互联网 发布:信号处理与数据分析 编辑:程序博客网 时间:2024/05/22 14:34
播放的文件放到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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></LinearLayout>
0 0
- 自制最简Android MusicPlayer
- Android MusicPlayer
- Android多媒体开发:MusicPlayer篇
- VC下自制一个MusicPlayer:调用activemovie控件
- android musicPlayer过程中小问题记录
- android自带musicplayer源码分析:CreatePlaylist类
- android自带musicplayer源码分析:ScanningProgress类
- android自带musicplayer源码分析:RenamePlaylist类
- android自带musicplayer源码分析:MusicBrowserActivity类
- android自带musicplayer源码分析:DeleteItems类
- android MusicPlayer 音乐播放器 Lrc歌词控件的实现
- Android 的简单应用(MusicPlayer) 以及 Soundpool池
- android自制拨号器
- 自制Android 文件浏览器
- Android 自制照相机
- Android 之自制View
- android自制新闻阅读器
- 自制Android手机相册
- symfony框架
- 最长上升子序列LIS集合 POJ2533,POJ1631,POJ1887,POJ1609
- 不注册COM组件直接调用接口
- 程序员谈学习:我为什么要学习Linux?
- ucosii学习笔记0
- 自制最简Android MusicPlayer
- 边缘方块 EDGE 打到关底了
- 【2014.02.10】一名大二学生的顿悟
- s:iterator中value does not support runtime expressions的解决方法
- poj1050 to the max (DP)
- linux网卡info
- TF-IDF及其算法
- Console命令详解,让调试js代码变得更简单
- ubuntu12.04设置开机屏幕亮度