Android Media Player示例
我们可以通过MediaPlayer类在Android中播放和控制音频文件。 MediaPlayer类 可以帮助我们实现此功能。
在这里,我们将看到一个简单的示例来播放音频文件。在下一页中,我们将看到控制音频播放的示例,例如开始、停止、暂停等。
MediaPlayer类
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) | 设置此播放器的音量。 |
Activity类
让我们编写代码来播放音频文件。在这里,我们将播放位于sdcard/Music目录下的maine.mp3文件。
“`java
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 {
<pre><code>@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;
}
</code></pre>
}
<pre><code class="line-numbers">#### 您需要在真实设备上运行它以测试应用程序。
#### Android MediaPlayer控制音频的示例
让我们看一个简单的示例来开始、停止和暂停音频播放。
#### activity_main.xml
从工具箱中拖动三个按钮来启动、停止和暂停音频播放。现在,xml文件将如下所示:
“`java
<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>
Activity类
让我们编写代码来启动、暂停和停止音频播放器。
“`java
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);
<pre><code> 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();
}
});
}
</code></pre>
}
“““
下载这个Android示例