本文概述
- MediaPlayer类
在这里,我们将看到一个播放音频文件的简单示例。在下一页中,我们将看到控制音频播放(如开始,停止,暂停等)的示例。
MediaPlayer类【android播放音频用法示例】android.media.MediaPlayer类用于控制音频或视频文件。
MediaPlayer类的方法MediaPlayer类的方法很多。其中一些如下:
方法 | 描述 |
---|---|
public void setDataSource(String path) | 设置要使用的数据源(文件路径或http url)。 |
public void prepare() | 为播放器准备同步播放。 |
public void start() | 它开始或继续播放。 |
public void stop() | 停止播放。 |
public void pause() | 暂停播放。 |
public boolean isPlaying() | 检查媒体播放器是否正在播放。 |
public void seekTo(int millis) | 寻求以毫秒为单位的指定时间。 |
public void setLooping(boolean looping) | 将播放器设置为循环播放或不循环播放。 |
public boolean isLooping() | 检查播放器是循环播放还是非循环播放。 |
public void selectTrack(int index) | 它为指定的索引选择一个音轨。 |
public int getCurrentPosition() | 返回当前播放位置。 |
public int getDuration() | 返回文件的持续时间。 |
public void setVolume(float leftVolume, float rightVolume) | 设置此播放器的音量。 |
package com.example.audiomediaplayer1;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer mp=new MediaPlayer();
try{
mp.setDataSource("/sdcard/Music/maine.mp3");
//Write your location here
mp.prepare();
mp.start();
}catch(Exception e){e.printStackTrace();
} } @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu;
this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}}
你需要在真实设备上运行它以测试应用程序。Android MediaPlayer控制音频的示例让我们看一个简单的示例,以开始,停止和暂停音频播放。
activity_main.xml从面板上拖动三个按钮以开始,停止和暂停音频播放。现在,xml文件将如下所示:
<
RelativeLayout xmlns:androclass="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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" ><
TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="30dp"
android:text="Audio Controller" /><
Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="48dp"
android:text="start" /><
Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/button1"
android:layout_toRightOf="@+id/button1"
android:text="pause" /><
Button
android:id="@+id/button3"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:text="stop" /><
/RelativeLayout>
活动类让我们编写代码以启动,暂停和停止音频播放器。
package com.example.audioplay;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button start, pause, stop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start=(Button)findViewById(R.id.button1);
pause=(Button)findViewById(R.id.button2);
stop=(Button)findViewById(R.id.button3);
//creating media player
final MediaPlayer mp=new MediaPlayer();
try{
//you can change the path, here path is external directory(e.g. sdcard) /Music/maine.mp3
mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Music/maine.mp3");
mp.prepare();
}catch(Exception e){e.printStackTrace();
}start.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.start();
}
});
pause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.pause();
}
});
stop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
}
});
}
}
输出:
文章图片
推荐阅读
- android播放视频用法示例
- android json解析教程
- android XMLPullParser使用教程
- 使用dom解析器进行android xml解析
- 使用sax解析器进行android xml解析
- android sqlite和spinner的用法示例
- android sqlite用法教程
- android外部存储示例
- Android Studio插件美化Android Studio,文艺清新范