Android音视频播放器示例

Android音视频播放器示例

通过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示例

#### 你需要在真实设备上运行它来测试该应用程序。

#### 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示例

输出:

Android音视频播放器示例

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程