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 ...
随机推荐
- 【笔记目录1】ASP.NET Core分布式项目实战
当前标签: ASP.NET Core分布式项目实战 共2页: 1 2 下一页 35.Docker安装Mysql挂载Host Volume GASA 2019-06-20 22:02 阅读:51 评论 ...
- saltstack基本操作第一篇章
一.安装saltstack 1)官网安装 http://repo.saltstack.com/#rhel saltstack的模块: https://www.unixhot.com/docs/sa ...
- send csv to es with filebeat
## filebeat *.csv 2019-11-30 23:27:50,111111,222222,VIEW,333333333333 filebeat filebeat.inputs:- pat ...
- 关于C++中的非静态类成员函数指针
昨天发现了一个问题,就是使用对类中的非静态成员函数使用std::bind时,不能像普通函数一样直接传递函数名,而是必须显式地调用&(取地址),于是引申出我们今天的问题:非静态类成员函数指针和普 ...
- CWinThread 日志系统
CWinThread 日志系统 CWinThread 上继承写入日志 CStdioFile 继承文件
- jQuery CSS方法
html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- Tmux 中开启鼠标选择与复制
在 tmux.conf 中加入下列设置(tmux 2.1 之前的版本): set -g mode-mouse on set -g mouse-resize-pane on set -g mouse-s ...
- python学习--第三天 粗略介绍人脸识别
首先安装opencv 在安装opencv过程中遇到一些错误(百度解决) 直接贴代码吧,讲师略讲了一下,体会不深,以后有机会深入学习,再详细介绍解释吧 人脸识别训练集应该可以网上下载吧,都是开源的 im ...
- Delphi 获取系统的语言环境参数GetSystemDefaultLangID、VerLanguageName、GetLocaleInfo
1 核心的两个API函数:GetSystemDefaultLangID 和 VerLanguageName. GetSystemDefaultLangID:获得系统默认语言的ID VerLanguag ...
- HTML5: HTML5 拖放
ylbtech-HTML5: HTML5 拖放 1.返回顶部 1. HTML5 拖放(Drag 和 Drop) 拖放(Drag 和 drop)是 HTML5 标准的组成部分. 将 RUNOOB.C ...