android播放音频用法示例

本文概述

  • MediaPlayer类
我们可以借助MediaPlayer类在android中播放和控制音频文件。
在这里,我们将看到一个播放音频文件的简单示例。在下一页中,我们将看到控制音频播放(如开始,停止,暂停等)的示例。
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)设置此播放器的音量。
活动类让我们编写播放音频文件的代码。在这里,我们将播放sdcard / Music目录中的maine.mp3文件。
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播放音频用法示例

文章图片

    推荐阅读