public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private EditText filenameText;
private MediaPlayer mediaPlayer;
private String filename;
private int position;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
filenameText = (EditText) findViewById(R.id.filename);
mediaPlayer = new MediaPlayer();
ButtonClickListener listener = new ButtonClickListener();
Button playButton = (Button) findViewById(R.id.play);
Button pauseButton = (Button) findViewById(R.id.pause);
Button resetButton = (Button) findViewById(R.id.reset);
Button stopButton = (Button) findViewById(R.id.stop);
playButton.setOnClickListener(listener);
pauseButton.setOnClickListener(listener);
resetButton.setOnClickListener(listener);
stopButton.setOnClickListener(listener);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
this.filename = savedInstanceState.getString("filename");
this.position = savedInstanceState.getInt("position");
super.onRestoreInstanceState(savedInstanceState);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString("filename", filename);
outState.putInt("position", position);
super.onSaveInstanceState(outState);
}
@Override
protected void onPause() {//如果突然电话到来,停止播放音乐
if(mediaPlayer.isLooping()){
position = mediaPlayer.getCurrentPosition();//保存当前播放点
mediaPlayer.stop();
}
super.onPause();
}
@Override
protected void onResume() {//如果电话结束,继续播放音乐
if(position>0 && filename != null){
try {
play();
mediaPlayer.seekTo(position);
position = 0;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
super.onResume();
}
@Override
protected void onDestroy() {
mediaPlayer.release();
super.onDestroy();
}
private final class ButtonClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
filename = filenameText.getText().toString();
Button button = (Button) v;
try {
switch (v.getId()) {
case R.id.play:
play();
break;
case R.id.pause:
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
button.setText(R.string.continue1);
}else{
mediaPlayer.start();//继续播放
button.setText(R.string.pause);
}
break;
case R.id.reset:
if(mediaPlayer.isPlaying()){
mediaPlayer.seekTo(0);
}else{
play();
}
break;
case R.id.stop:
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
}
break;
}
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}
}
private void play() throws IOException {
File audioFile = new File(Environment.getExternalStorageDirectory(),filename);
mediaPlayer.reset();
mediaPlayer.setDataSource(audioFile.getAbsolutePath());
mediaPlayer.prepare();
mediaPlayer.start();//播放
}
}
分享到:
相关推荐
音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器...
还有简单的密码验证 开发软件:Android StudioAndroid 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器...
小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 ...
JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码...
软件工程JavaWeb课程设计音乐播放器网页项目源代码。软件工程JavaWeb课程设计音乐播放器网页项目源代码软件工程JavaWeb课程设计音乐播放器网页项目源代码。软件工程JavaWeb课程设计音乐播放器网页项目源代码软件工程...
微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信...
在Android平台上,开发一款音乐播放器应用是一项常见的任务,它涉及到多媒体处理、用户界面设计以及与设备硬件的交互等多个方面。本项目是一个基于Android Studio的音乐播放器APP源码,对于学习Android应用开发,...
本项目是基于Android开发的音乐播放器设计源码,主要使用Java进行开发。项目共包含71个文件,其中XML配置文件17个,PNG图片文件16个,编译后的Java字节码文件13个,WebP图片文件10个,Git忽略配置文件3个,Gradle...
安卓app开发项目-音乐播放器(源码).zip安卓app开发项目-音乐播放器(源码).zip安卓app开发项目-音乐播放器(源码).zip安卓app开发项目-音乐播放器(源码).zip安卓app开发项目-音乐播放器(源码).zip安卓app开发项目-音乐...
基于jQuery的HTML5移动端音乐播放器源码 基于jQuery的HTML5移动端音乐播放器源码 基于jQuery的HTML5移动端音乐播放器源码 基于jQuery的HTML5移动端音乐播放器源码 基于jQuery的HTML5移动端音乐播放器...
在Android平台上,开发一款音乐播放器是常见的任务之一,它涉及到多媒体处理、用户界面设计以及服务组件等多个核心知识点。这份“安卓音乐播放器相关-原生Android4.4音乐播放器源码原封未动原滋原味的代码学习最基本...
在Android 4.0(冰淇淋三明治)版本中,音乐播放器是一个重要的系统组件,为用户提供了丰富的音频体验。这个版本的音乐播放器引入了一系列改进和新特性,旨在提升用户体验,使其更加现代化和功能全面。 首先,...
音乐播放器的VHDL实现是一项复杂而有趣的电子设计自动化(EDA)项目,它涉及到数字逻辑设计、硬件描述语言(HDL)、FPGA(Field-Programmable Gate Array)编程等多个领域。在这个项目中,我们将重点讨论VHDL语言、...
Android音乐播放器实战,实现本地歌曲播放控制,可后台播放,拔出耳机暂停,来电暂停,电话挂断继续播放。这个项目很好的结合了Android的四大组件知识。其中音乐来源于手机本地,使用了Content Provider获取,播放...
基于Python开发的音乐播放器源码.zip基于Python开发的音乐播放器源码.zip基于Python开发的音乐播放器源码.zip基于Python开发的音乐播放器源码.zip基于Python开发的音乐播放器源码.zip基于Python开发的音乐播放器源码...
【C语言音乐播放器源码】是一个用于学习和实践C语言编程技能的项目,它涵盖了后端音频处理和播放的基本概念。在这个项目中,开发者可以深入理解如何利用C语言来控制计算机的音频系统,实现音乐播放功能。下面将详细...
这个技术使得开发者可以创建出功能丰富的、跨平台的音乐播放器,支持多种音频格式,特别是MP3格式,这在移动设备上非常常见。在本文中,我们将深入探讨HTML5音乐播放器的核心知识点,以及如何利用它来构建一个MP3...
今天我将带着大家使用 HTML、CSS 和 JS创建 [音乐播放器]...这个音乐播放器最好的部分是它最小化了音乐播放器。是的,您可以最小化和最大化播放器本身。使这个项目成为一个很棒的音乐播放器。
QT4简洁音乐播放器是一款基于QT4框架开发的轻量级音乐播放软件,适用于初学者进行学习和使用。QT4是Qt库的一个版本,由Trolltech公司(现为The Qt Company)开发,是一个跨平台的应用程序开发框架,广泛应用于...
【Qt5音乐播放器】是基于Qt5框架开发的一款本地音乐播放软件,它具备了基本的音乐播放功能,用户可以在自己的计算机上享受音乐的乐趣。Qt5是一个强大的C++图形用户界面库,由Digia公司(前身为Trolltech)开发,广泛...