Android 中MediaPlayer播放音频
1、播放/res/raw/目录下的音频资源
public class MainActivity extends Activity { MediaPlayer mediaPlayer;
int position = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); } public void start(View v) {
try {
mediaPlayer = MediaPlayer.create(this, R.raw.mus);
if (mediaPlayer != null ) {
mediaPlayer.stop();
position = 0;
}
mediaPlayer.prepare();
if (position > 0) mediaPlayer.seekTo(position);
mediaPlayer.start();
}catch (Exception e) {
e.printStackTrace();
} } public void stop(View v) {
mediaPlayer.stop();
} public void pause(View v) {
position = mediaPlayer.getCurrentPosition();
mediaPlayer.pause();
} @Override
protected void onDestroy() {
mediaPlayer.release();
super.onDestroy();
} }
2、播放 assets目录下的音频资源
package com.test.mediaplayer; import java.io.IOException; import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.view.Menu;
import android.view.View; public class MainActivity extends Activity { MediaPlayer mediaPlayer;
int position = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
} public void start(View v) {
try {
mediaPlayer = new MediaPlayer();
AssetManager am = getAssets();
AssetFileDescriptor afd = am.openFd("mus.mp3");
mediaPlayer.setDataSource(afd.getFileDescriptor());
mediaPlayer.prepare();
if (position > 0) mediaPlayer.seekTo(position);
mediaPlayer.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void stop(View v) {
mediaPlayer.stop();
} public void pause(View v) {
position = mediaPlayer.getCurrentPosition();
mediaPlayer.pause();
} @Override
protected void onDestroy() {
mediaPlayer.release();
super.onDestroy();
} }
3、播放sdCard上的音频资源
package com.test.mediaplayer; import java.io.IOException; import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.view.Menu;
import android.view.View; public class MainActivity extends Activity { MediaPlayer mediaPlayer;
int position = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
} public void start(View v) {
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("/mnt/sdcard/mus.mp3");
mediaPlayer.prepare();
if (position > 0) mediaPlayer.seekTo(position);
mediaPlayer.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void stop(View v) {
mediaPlayer.stop();
} public void pause(View v) {
position = mediaPlayer.getCurrentPosition();
mediaPlayer.pause();
} @Override
protected void onDestroy() {
mediaPlayer.release();
super.onDestroy();
} }
4、播放网络音频资源使用 MediaPlayer的setDataSource(Context context, Uri uri)方法,Uri为音频文件的网络路径。
使用SoundPool来播放密集、短促的音效。MediaPlayer的缺点是:资源占用量高、延迟时间长,不支持多个音频同时播放,SoundPool虽然可以一次性加载多个声音,但是由于内存限制,因此应该避免使用SoundPool来播放歌曲或者做游戏背景。
Android 中MediaPlayer播放音频的更多相关文章
- Android学习总结(十六) ———— MediaPlayer播放音频与视频
一.基本概念 本文主要介绍的是Android中很重要也最为复杂的媒体播放器(MediaPlayer)部分的架构.Android的MediaPlayer包含了Audio和video的播放功能,在Andr ...
- Android MediaPlayer 播放音频
本文链接: Android MediaPlayer 播放音频 主要介绍使用MediaPlayer播放音频的方式.关于MediaPlayer的基础知识,比如状态,可以参考Android MediaPla ...
- MediaPlayer播放音频,也可以播放视频
使用MediaPlayer播放音频或者视频的最简单例子: JAVA代码部分: public class MediaPlayerStudy extends Activity { private Butt ...
- 【Android 多媒体应用】使用MediaRecoder录制,MediaPlayer播放音频数据
1.MainActivity.java import android.annotation.TargetApi; import android.app.Activity; import android ...
- 使用MediaPlayer播放音频-----之二
MediaPlayer播放不同来源的音频文件: 一.播放应用的资源文件 1.调用MediaPlayer的create(Context context , int resid)方法加载指定资源文件. ...
- 使用MediaPlayer播放音频-----之一
MediaPlayer提供了如下方法来指定装载相应的音频文件: 1.void setDataSource( String path):指定装载path路径所代表的文件. 2.void setDa ...
- Xcode模拟器中无法播放音频文件的原因分析
在本猫的Mac Mini上开发iOS app,发现当执行到播放音频的代码时,发生错误,log如下: 2015-10-05 07:22:17.122 LearnSpriteBuilder[10321:5 ...
- Android 使用MediaPlayer 播放 视频
http://pan.baidu.com/s/1lgKLS package cn.bgxt.surfaceviewdemo; import java.io.File; import android.m ...
- VC++中MCI播放音频文件 【转】
MCI播放mp3音频文件例程 源文件中需要包含头文件 Mmsystem.h,在Project->Settings->Link->Object/libray module中加入库 Wi ...
随机推荐
- PyQt5实战1-搭建conda环境
一.安装Anaconda 下载地址:https://repo.anaconda.com/archive/Anaconda3-2019.03-Windows-x86_64.exe 软件版本:Anacon ...
- 数的直径(两次DFS)
题目传送门 桃花 题目描述 桃花一簇开无主,可爱深红映浅红. ——<题百叶桃花> 桃花长在桃树上,树的每个节 ...
- Java中的HashMap的2种遍历方式比较
首先我们准备数据,准备一个map Map<String, String> map = new HashMap<String, String>(); for (int i = 0 ...
- elk 解决浏览器跨域问题
1.执行命令: docker pull sebp/elk 将镜像pull到本地来: 2.执行命令: docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 ...
- 三、bootstrap-treeview
一.bootstrap-treeview 修饰标签为徽章 参考 https://www.cnblogs.com/bin521/p/8403588.html
- 关于django中的rest_framework的使用
rest_framework框架的认识 它是基于Django的,帮助我们快速开发符合RESTful规范的接口框架. 一 路由 可以通过路由as_view()传参 根据请求方式的不同执行对应不 ...
- tomcat manager详解
Tomcat Manager是Tomcat自带的.用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用.Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Mana ...
- mongodb使用本地日期查询
db.getCollection('userLog').find({createAt:{"$gt":new Date("2018-08-05"),"$ ...
- Web.xml配置详解(转)
Web.xml配置详解 Posted on 2010-09-02 14:09 chinaifne 阅读(295105) 评论(16) 编辑 收藏 1 定义头和根元素 部署描述符文件就像所有XML文件一 ...
- Windows下JDK安装步骤 + eclipse集成配置
一.JDK环境配置 1.解压到java目录下 2.路径和上面路径一致 3.配置path路径 4.查看版本 二.Eclipse配置 1.编译版本 2.运行环境 3.默认字集 4.字体大小