Android媒体开发之音乐播放器

Android媒体开发之音乐播放器,第1张

概述本文实例为大家分享了Android媒体开发音乐播放器的具体代码,供大家参考,具体内容如下

本文实例为大家分享了AndroID媒体开发之音乐播放器的具体代码,供大家参考,具体内容如下

可以对音乐文件实现播放、暂停、重播和停止功能。退出应用和回到桌面时音乐停止。

主界面:

 


主界面配置文件mian.xml:

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"   xmlns:tools="http://schemas.androID.com/tools"   androID:ID="@+ID/container"   androID:layout_wIDth="match_parent"   androID:layout_height="match_parent"   androID:orIEntation="vertical"   tools:context="com.example.musicplay.MainActivity" >   <TextVIEw     androID:layout_wIDth="fill_parent"     androID:layout_height="wrap_content"     androID:text="@string/filename" />   <EditText     androID:layout_wIDth="fill_parent"     androID:layout_height="wrap_content"     androID:layout_weight="0.00"     androID:background="#B0C4DE"     androID:text="Payphone.mp3"     androID:ID="@+ID/filename" />   <linearLayout     androID:layout_wIDth="fill_parent"     androID:layout_height="wrap_content"     androID:orIEntation="horizontal"      >     <button       androID:ID="@+ID/playbutton"       androID:layout_wIDth="wrap_content"       androID:layout_height="wrap_content"       androID:onClick="mediaplay"       androID:text="@string/playbutton" />     <button       androID:ID="@+ID/pausebutton"       androID:layout_wIDth="wrap_content"       androID:layout_height="wrap_content"       androID:onClick="mediaplay"       androID:text="@string/pausebutton" />     <button       androID:ID="@+ID/resetbutton"       androID:layout_wIDth="wrap_content"       androID:layout_height="wrap_content"       androID:onClick="mediaplay"       androID:text="@string/resetbutton" />     <button       androID:ID="@+ID/stopbutton"       androID:layout_wIDth="wrap_content"       androID:layout_height="wrap_content"       androID:onClick="mediaplay"       androID:text="@string/stopbutton" />   </linearLayout> </linearLayout> 

主界面的Activity

MainActivity.java:

package com.example.musicplay; import java.io.file; import androID.app.Activity; import androID.content.Context; import androID.media.MediaPlayer; import androID.media.MediaPlayer.OnPreparedListener; import androID.os.Bundle; import androID.os.Environment; import androID.telephony.PhonestateListener; import androID.telephony.TelephonyManager; import androID.vIEw.VIEw; import androID.Widget.button; import androID.Widget.EditText; import androID.Widget.Toast; public class MainActivity extends Activity {  private EditText nameText;  private String path;  private int position;  private MediaPlayer mediaplayer;  private boolean pause;  protected voID onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentVIEw(R.layout.activity_main);  nameText=(EditText) this.findVIEwByID(R.ID.filename);  mediaplayer=new MediaPlayer();   }    //以下方法会造成只要应用在后台音乐都会停止播放  @OverrIDe  //当应用不在前台时,停止播放  protected voID onPause() {  if(mediaplayer.isPlaying()){   position=mediaplayer.getCurrentposition();   mediaplayer.stop();  }  super.onPause();  }    @OverrIDe  protected voID onResume() {  if(position>0&&path!=null){   play();   mediaplayer.seekTo(position);   position=0;  }  super.onResume();  }  @OverrIDe  protected voID onDestroy() {  mediaplayer.release();  mediaplayer=null;  super.onDestroy();  }  public voID mediaplay(VIEw v){  switch (v.getID()) {  case R.ID.playbutton:   String filename=nameText.getText().toString();   //Environment.getExternalStorageDirectory()检查外部存储设备的可用性   file audio=new file(Environment.getExternalStorageDirectory(),filename);   if(audio.exists()){   //获取SDCard目录,2.2的时候为:/mnt/sdcart 2.1的时候为:/sdcard,所以使用静态方法得到路径会好一点。     path=audio.getabsolutePath();   play();   }   else{   path=null;   Toast.makeText(getApplicationContext(),R.string.error,1).show();   }   break;     case R.ID.pausebutton:   if(mediaplayer.isPlaying()){   mediaplayer.pause();   pause=true;   ((button)v).setText(R.string.continues);   }else{   if(pause){    mediaplayer.start();    pause=false;    ((button)v).setText(R.string.pausebutton);   }   }   break;     case R.ID.resetbutton:   if(mediaplayer.isPlaying()){   mediaplayer.seekTo(0);//从开始位置播放   }else{   if(path!=null){    play();   }   }   break;     case R.ID.stopbutton:   if(mediaplayer.isPlaying()){   mediaplayer.stop();   }   break;     default:   break;  }  }  private voID play() {  try {   mediaplayer.reset();//把各项参数恢复到初始化状态   mediaplayer.setDataSource(path);   mediaplayer.prepare();//进行缓冲   //设置缓冲监听器   mediaplayer.setonPreparedListener(new OnPreparedListener() {      //缓冲完毕后调用onPrepared方法   public voID onPrepared(MediaPlayer mp) {    // 里面写缓冲完要干的事    mediaplayer.start();   }   });  } catch (Exception e) {   e.printstacktrace();  }  } } 

实现了简单的SD卡中音乐的播放。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android媒体开发之音乐播放器全部内容,希望文章能够帮你解决Android媒体开发之音乐播放器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存