android音频播放方式有两种:一种是MediaPlayer,另一种是SoundPool,下面这个例子是用的第一种
1.首先看布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="音乐文件名称"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="neyanbhbin.mp3"
android:id="@+id/fileName"
/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放"
android:id="@+id/startButton"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停"
android:layout_toRightOf="@id/startButton"
android:layout_alignTop="@id/startButton"
android:id="@+id/pauseButton"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止"
android:layout_toRightOf="@+id/pauseButton"
android:layout_alignTop="@+id/pauseButton"
android:id="@+id/endButton"
/>
</RelativeLayout>
</LinearLayout>
2.响应的Activity代码如下
package com.lamp.audio;
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Audio extends Activity {
private EditText fileNameText = null;
private MediaPlayer mediaPlayer = null;
private boolean ispause = false;
private static final String TAG = "Audio";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
fileNameText = (EditText)this.findViewById(R.id.fileName);
Button startButton = (Button)this.findViewById(R.id.startButton);
Button pauseButton = (Button)this.findViewById(R.id.pauseButton);
Button endButton = (Button)this.findViewById(R.id.endButton);
startButton.setOnClickListener(listener);
pauseButton.setOnClickListener(listener);
endButton.setOnClickListener(listener);
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
Toast.makeText(Audio.this, "播放结束", Toast.LENGTH_LONG).show();
}
});
}
private View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
Button button = (Button)v;
switch (button.getId()) {
case R.id.startButton:
String fileName = fileNameText.getText().toString();
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource("/mnt/sdcard/" + fileName);
//缓冲
mediaPlayer.prepare();
//开始播放
mediaPlayer.start();
} catch (Exception e) {
Log.e(TAG, e.toString());
}
break;
case R.id.pauseButton:
if(mediaPlayer.isPlaying()){
//暂停播放
mediaPlayer.pause();
}else{
mediaPlayer.start();
}
break;
case R.id.endButton:
if(mediaPlayer.isPlaying()){
//停止播放
mediaPlayer.stop();
}
break;
}
}
};
//当手机收到外来响应,比如接到电话,音频播放暂停
protected void onPause() {
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
ispause = true;
}
super.onPause();
}
//当挂断电话后恢复播放
protected void onResume() {
if(ispause){
mediaPlayer.start();
ispause = false;
}
super.onResume();
}
@Override
protected void onDestroy() {
mediaPlayer.release();
mediaPlayer = null;
super.onDestroy();
}
}
播放的map3文件可以放在资源文件夹,sdk卡,此例子是放在sdk根目录下
分享到:
相关推荐
通过分析和学习这个源码,开发者可以掌握Android音频播放的基本流程,了解如何处理音乐文件、播放控制、媒体库访问以及UI设计等多个方面。同时,这也能为自定义音乐播放器或者增强现有应用的音频功能提供基础。
"android音频播放控件"的设计通常包括以下几个关键部分: 1. **UI设计**:设计一个符合用户习惯的界面,通常包含播放/暂停按钮、前进/后退按钮、音量调节、进度条等元素。进度条可以通过监听`MediaPlayer`的播放...
在Android平台上开发一个音乐播放应用是一项常见的任务,它涉及到多媒体处理、用户界面设计以及系统服务的集成等多个技术领域。下面,我们将深入探讨“Android音乐播放”这个主题,涵盖描述中提到的音乐控制和音乐...
- 音乐播放通常涉及到Android的`MediaPlayer`类,它是Android提供的一种多媒体播放组件,可以处理音频和视频文件。在音乐播放应用中,我们需要用到`MediaPlayer`的`setDataSource()`来设置音乐文件源,`prepare()`...
通过详细研究和分析这个源码,开发者不仅可以了解音乐播放应用的基本构建,还可以学习到如何处理Android音频播放中的各种复杂情况,提升自己的开发能力。同时,这也为创建自己的音乐播放应用提供了实践基础。
总的来说,"android音乐播放程序源码"是一个实践性极强的学习资源,对于想要提升Android音频处理能力的开发者来说,是不可多得的参考资料。通过深入研究这个项目,开发者不仅可以掌握Android音乐播放器的实现原理,...
综上所述,“android 音乐播放源码.zip”项目涵盖了Android多媒体框架中的关键知识点,包括MediaPlayer的使用、媒体库的管理、UI交互设计、音频焦点控制以及后台播放服务的实现。通过深入研究和理解这个源码,开发者...
通过深入学习和实践VoiceDemo,初学者可以掌握Android音频播放的基础知识,为开发更复杂的音乐播放应用打下坚实基础。同时,还可以进一步探索其他音频库,如ExoPlayer,以获得更高级的功能和更好的性能。
这个"Android音乐播放源码.zip"的资源很可能包含了实现这一功能的完整代码库,这对于学习和理解Android音频处理以及UI设计非常有帮助。下面,我们将深入探讨相关知识点。 1. **音频播放API**:Android提供了...
这份"Android音乐播放代码.rar"资源提供了一个完整的音乐播放器的源码,可以帮助开发者深入理解如何在Android环境下实现音频播放功能。以下是这个项目中涉及的一些关键知识点: 1. **多媒体框架**:Android提供了...
这个项目“Android音频播放”显然是基于火星(mars)老师的教程实现的,并且已经经过了实际测试,确保功能正常。关键点在于需要用户根据自己的环境调整音频流的IP地址和端口号。 Android音频播放涉及以下核心知识点...
这个项目可能包含了实现音频播放、控制、界面交互等功能的全部代码,开发者可以通过研究和学习这些源码来理解如何在Android平台上开发音乐播放应用。 【描述】描述中的".rar"文件扩展名表明这是一个压缩文件,通常...
总的来说,Android音频播放涉及的内容丰富,从基本的MediaPlayer使用到高级的ExoPlayer集成,再到音频焦点和权限管理,都需要开发者充分理解和掌握。在实际开发中,根据项目需求选择合适的方法,并注意处理好各种...
"android音乐播放源码"提供了实现这一功能的基础框架,可以帮助我们理解和学习如何在Android设备上创建一个功能完善的音乐播放应用。这个源码可能包含播放控制、音频流处理、音乐库管理等多个关键模块。 1. **播放...
在Android平台上开发应用程序时,音乐播放功能是许多用户所期待的。这个"Android程序研发源码Android 音乐播放源码.zip"文件提供了一个实际的示例,可以帮助开发者深入理解如何在Android上实现一个音乐播放器。源码...
这个"android音乐播放"项目提供了一个实际的示例,展示了如何创建一个功能完备且用户体验良好的音乐播放应用。通过深入分析这个项目,我们可以学习到很多关于Android应用开发的知识点。 首先,音乐播放器的核心功能...
在本资源中,我们拥有一个名为"安卓项目android 音乐播放源码.rar"的压缩包,这是一份用于Android平台的音乐播放器项目的源代码。这个项目对于开发者来说,无论是初学者还是有一定经验的工程师,都具有很高的学习...
10. **Service 使用**: 对于长时间运行的音乐播放,建议使用`Service`,这样即使用户离开应用,音乐仍能持续播放。`Binder`可以用于在Activity和服务之间进行通信。 11. **通知栏控制**: 对于后台播放,通常会在...
然而,需要注意的是,尽管界面已经完成,但实际的音乐播放功能尚未实现。在Qt for Android中,实现音频播放通常会用到`QtMultimedia`模块。这个模块提供了音频播放、视频播放以及音频捕获等功能。开发者需要添加对应...