Android 简单播放音频

简单介绍:

播放声音有两种、一种是SoundPool,一种是MediaPlayer。

SundPool用于播放短小的音乐,比如游戏里面的特效音,按键音等等。

MediaPlayer可以播放视频和音频。

1、使用SoundPool

package com.shao;

import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

	public SoundPool soundPool;

	public Button btnSoundPool;

	public Button btnMediaPlay;

	public int x;

	public MediaPlayer mediaPlayer;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		this.soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
		final int x = this.soundPool.load(this,R.raw.hacker, 1);
		this.btnSoundPool = (Button) findViewById(R.id.btnSoundPool);

		this.btnSoundPool.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				soundPool.play(x, 1, 1, 0, 0, 0);
			}
		});

	}
}

注意,

final int x = this.soundPool.load(this,R.raw.hacker, 1);
  • Returns:
  • a sound ID. This value can be used to play or unload the sound.

可以看到这里返回的是一个soundId,而这个soundId在soundPool对象调用播放方法的时候正好用到。

2、使用MediaPlay

package com.shao;

import android.app.Activity;
import android.media.MediaPlayer;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

	public Button btnMediaPlay;

	public MediaPlayer mediaPlayer;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		btnMediaPlay = (Button) findViewById(R.id.btnMediaPlay);
		mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.hacker);
		this.btnMediaPlay.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				try {
					mediaPlayer.start();
				} catch (Throwable e) {
					e.printStackTrace();
				} 
			}
		});
	}
}

这个没有什么好注意的。知道只是下面这个方法,创建的是一个MediaPlayer对象即可

MediaPlayer.create(MainActivity.this, R.raw.hacker);

而调用播放的方法不是play,是start,这个让我查了好久。

时间: 2024-08-01 23:29:41

Android 简单播放音频的相关文章

Android MediaPlayer 播放音频

本文链接: Android MediaPlayer 播放音频 主要介绍使用MediaPlayer播放音频的方式.关于MediaPlayer的基础知识,比如状态,可以参考Android MediaPlayer 基础简介. 为了方便表达,定义变量名为mediaPlayer. MediaPlayer的使用方式 创建MediaPlayer 可以直接 new MediaPlayer,也可以用MediaPlayer提供的create方法创建. mediaPlayer = new MediaPlayer();

【Android】播放音频的几种方式介绍

接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPlayer播放音频 MediaPlayer的功能很强大,下面附上一张该类封装音频的生命周期图: MediaPlayer支持AAC.AMR.FLAC.MP3.MIDI.OGG.PCM等格式,MediaPlayer可以通过设置元数据和播放源来音频. 1.1播放Raw文件夹下面音频的元数据 //直接创建,不

【转】解决在Android设备播放音频与其他应用重音的问题,并监听耳机的控制按钮

概述 在安卓开发中免不了需要播放一点音乐了,音频了.但是这时候有别的应用正在播放,这时候就会出现重音的现象,完全影响用户体验,我们的项目就遇上了这样的尴尬,然后查找了一些文档,记录一下: 管理音频焦点 从谷歌开发了解到,这跟音频的焦点又关系,我们可以获取当前音频的焦点来解决问题: 有多个应用程序可能播放音频,重要的是要考虑他们应该如何交互.为了避免每个音乐应用程序同时播放,Android使用音频焦点来控制音频播放 - 只有拥有音频焦点的应用程序才能播放音频. 在您的应用程序开始播放音频之前,应该

【转】Android播放音频MediaPlayer的几种方式介绍

接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPlayer播放音频 MediaPlayer的功能很强大,下面附上一张该类封装音频的生命周期图: MediaPlayer支持AAC.AMR.FLAC.MP3.MIDI.OGG.PCM等格式,MediaPlayer可以通过设置元数据和播放源来音频. 1.1播放Raw文件夹下面音频的元数据 //直接创建,不

Android音乐播放-MediaPlayer

当你坐公交无聊的时候,当你淹没在地铁中人潮中的时候,你是否想内心保持一份的安静呢,那么请带上耳机,打开你的音乐播放器,听一首老歌带你进入宁静的世界,音乐播放这个功能在智能手机出现之前,诺基亚时代,甚至追溯到最开始的大哥大的时候都是属于音频的范畴.Android中播放音频不可避免的使用的一个类是Mediaplayer,视频调用也是这个类.扯远了,开始正题吧: 基础维护 首先这个时候来看看要实现的效果吧: 布局如下: <LinearLayout xmlns:android="http://sc

Android(java)学习笔记180:Android MediaPlayer 播放prepareAsync called in state 8解决办法

使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误. 以下方法可以避免这个异常出现.  第一种方法: private void playAudio(String audioUri){ Uri uri = Uri.parse(audioUri); mMediaPlayer = MediaPlayer.create(getApplicationContext(), uri); try { //在播放之前先判断playe

Android 打开/播放电脑的音频/视频文件

今天早上一到办公室,照常打开博客园看文章,看到有一片文章是用  http://www.cnblogs.com/wdfrog/p/3738180.html 看到这哥们实现的方法好复杂,又是配置电脑端,又是配置手机端,还又是转码啥的,倒腾时间长不说,而且还很麻烦,这里介绍下我是如何用手机直接播放电脑上的文件的. 之所以播放电脑上的文件,主要原因是视频文件都很大,清晰度高的一部电影都1GB左右了,对于手机来说,虽然能够装得下,但是看完就得删了,没法长时间储存在手机上, 来回往手机上拷视频文件,就这文件

Android——简单音乐播放器

使用MediaPlayer做的简单音乐播放器,更多内容请到百度经验查看   http://jingyan.baidu.com/article/60ccbceb63452364cab197f1.html <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:l

从零开始学android&lt;Mediaplayer播放器组件(播放音频).四十八.&gt;

在win计算机中播放视频和音频往往会使用到计算机当中的windowsMediaPlayer播放器,而在Android中则同样会使用mediaplayer播放器对音频和视频进行播放. 下图是mediaplayer的生命周期 dle状态:当使用关键字new实例化一个MediaPlayer对象或者是调用了类中的reset()方法会进入到此状态: End状态:当调用release()方法之后将进入到此状态,此时会释放掉所有占用的硬件和软件资源,并且不会再进入到其他的任何一种状态了: Initialize