Android 音频播放

android音频播放方式有两种:一种是MediaPlayer,另一种是SoundPool,下面这个例子是用的第一种

1.首先看布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="音乐文件名称"
/>

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="neyanbhbin.mp3"
android:id="@+id/fileName"
/>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放"
android:id="@+id/startButton"
/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停"
android:layout_toRightOf="@id/startButton"
android:layout_alignTop="@id/startButton"
android:id="@+id/pauseButton"
/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止"
android:layout_toRightOf="@+id/pauseButton"
android:layout_alignTop="@+id/pauseButton"
android:id="@+id/endButton"
/>

</RelativeLayout>

</LinearLayout>



2.响应的Activity代码如下

package com.lamp.audio;


import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Audio extends Activity {
private EditText fileNameText = null;
private MediaPlayer mediaPlayer = null;
private boolean ispause = false;
private static final String TAG = "Audio";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

fileNameText = (EditText)this.findViewById(R.id.fileName);
Button startButton = (Button)this.findViewById(R.id.startButton);
Button pauseButton = (Button)this.findViewById(R.id.pauseButton);
Button endButton = (Button)this.findViewById(R.id.endButton);
startButton.setOnClickListener(listener);
pauseButton.setOnClickListener(listener);
endButton.setOnClickListener(listener);
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {

public void onCompletion(MediaPlayer mp) {
Toast.makeText(Audio.this, "播放结束", Toast.LENGTH_LONG).show();
}
});
}
private View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
Button button = (Button)v;
switch (button.getId()) {
case R.id.startButton:
String fileName = fileNameText.getText().toString();
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource("/mnt/sdcard/" + fileName);
//缓冲
mediaPlayer.prepare();
//开始播放
mediaPlayer.start();
} catch (Exception e) {
Log.e(TAG, e.toString());
}
break;

case R.id.pauseButton:
if(mediaPlayer.isPlaying()){
//暂停播放
mediaPlayer.pause();
}else{
mediaPlayer.start();
}
break;

case R.id.endButton:
if(mediaPlayer.isPlaying()){
//停止播放
mediaPlayer.stop();
}
break;
}
}
};

//当手机收到外来响应,比如接到电话,音频播放暂停
protected void onPause() {
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
ispause = true;
}
super.onPause();
}

//当挂断电话后恢复播放
protected void onResume() {
if(ispause){
mediaPlayer.start();
ispause = false;
}
super.onResume();
}

@Override
protected void onDestroy() {
mediaPlayer.release();
mediaPlayer = null;
super.onDestroy();
}
}


播放的map3文件可以放在资源文件夹,sdk卡,此例子是放在sdk根目录下
android播放网络音频 android播放网络音频,很简单的技术,但是可以学习下很简单的一个获取网络音频播放器,有进度条,播放,暂停,停止,重新播放,支持缓存,以下是源码,希望可以帮到大家布局文件很简单,就几个按钮,TextView,和SeekBar。 activity_audio_palyer.xml<FrameLayout xmlns:android="http://schemas.android.com/apk/r 阅读详情

相关推荐

Android Studio——简易音频播放器

目的 设计一个具有选歌功能的音频播放器 工具及环境 使用java语言,在Android studio平台上进行开发 功能设计 界面有三个按钮选项,可以停止、播放、暂停音乐。通过选择列表的音乐,播放相应的音频文件 设计思路 先完成界面设计,三个选项按钮和歌曲选择列表。通过重置MediaPlayer到初始状态实现歌曲的停止功能 代码 activity_main.xml <?...

MofukYXM的博客 7041

LAMP架构深度优化

转载地址:https://blog.51cto.com/ucode/1750564 ©著作权归作者所有:来自51CTO博客作者027ryan的原创作品,如需转载,请注明出处,否则将追究法律责任 1、Apache worker/prefwork模式说明 在linux中,我们可以用httpd-l 查看安装的模块是prefork模式还是worker模式 [root@LAMP ~]# /applicati...

cheng198956的专栏 1117

车载Android之音频的播放流程

文章目录整体架构流程涉及到的类技术细节小结 整体架构流程 车载的音频服务和手机的音频服务不相同,手机上通常只有一个音频设备,但车机上可能会有多个,因此针对车载音频有专门的音频服务CarAudioService 涉及到的类 Audio是整个Android平台非常重要的一个组成部分,负责音频数据的采集和输出、音频流的控制、音频设备的管理、音量调节等,主要包括如下部分: AudioTrack:负责回放数据的输出 AudioRecord:负责录音数据的采集 AudioFlinger: 负责管理和处理音频流

其实我是一个演员 1446

Delphi FMX安卓Android播放mp3音频内存流

Delphi FMX跨平台的MediaPlayer无法播放音频数据流只能打开音频文件播放,但有时候需要直接播放内存流数据而无需生成文件,可以通过把内存流转ByteArray再通过Android平台系统原生的MediaDataSource或ParcelFileDescriptor 加载播放流音频数据;用java编译打包添加到库即可。【笔记:安卓开发Java+Delphi FMX】

630

Android获取音频焦点,播放自己的音频

这些天在项目上遇到了些困难:在播放语音的时候遇到了第三方音频播放器的干扰。 倒腾了两天,终于解决了,这里mark一下。 在Android系统中,如果想自己的音频播放不被第三方干扰,例如有时出现音乐和你的语音一起播放,或者是一声音大,一声音小。 这时候必须先获取音频的焦点(除了一些耍流氓的),然后才去播放你的语音,而且在播放结束后必须释放焦点。 1.请求音频焦点 public void

1865

Android使用FFmpeg播放音频_qt 安卓ffmpeg avcodec模块不能识别

} open class ThirdActivity : AppCompatActivity() { private val inputFilePath = “/storage/emulated/0/GreenCheng/video/g4.mp4” private var audioTrack:AudioTrack? = null private lateinit var musicPlayer: MusicPlayer override fun onCreate(savedInstanceState: B

2401_87555551的博客 590

Android中播放音频六种方式

一. MediaPlayer: MediaPlayer确实强大,提供了对音频播放的各种控制,生命周期: 1. MediaPlayer支持:AAC、AMR、FLAC、MP3、MIDI、OGG、PCM等格式 2. 播放Raw下的元数据 mMediaPlayer=MediaPlayer.create(this, R.raw.audio); mMediaPlayer.start(); 3. MediaPlayer设置播放源的4中方式 setDataSource (String path) //从sd卡中加载

云梦九章~ 3万+

Android音乐播放器之播放网络音频文件

首先检测网络环境搭建是否完成 1、找到Tomcat的位置中bin目录中的startup.bat,之后在网址上输入地址:localhost:7788(官方默认是8080) 2、找到Tomcat的位置中的webapps--》ROOT,在ROOT中放入音频 3、打开cmd,打出ipconfig,得到图下的IP地址,然后再把localhost换成你自己的IP地址后面再加上你放的音频的名字,例

qq_38946471的博客 3348

Android播放音频

Android提供了对常用音频和视频格式的支持,它所支持的音频格式有MP3(.mp3)、3GPP(.3gp)等,支持视频格式有3GPP和MPEG-4等。 使用MediaPlayer类播放音频 在Android中,提供了MediaPlayer类来播放音频。使用MediaPlayer类播放音频比较简单,只需要创建该类对象,并为其指定要播放的音频文件,然后调用该类的start()方法播放。MediaPl...

qq_40318498的博客 1万+

电源完整性之Cadence Sigrity Power DC_IR_Drop仿真

之前和大家分享过电源完整性之仿真设计原理链接: link.今天接着上一篇文章总结一下电源直流压降的的仿真操作流程及一些simulation中的设置参数,用到的时候Cadence Sigrity 中的Power DC组件,下面开始享受仿真的快乐吧: 1.仿真模式选择与文件导入 选择Cadence Sigrity下的Power DC组件,然后先择licence,最后就可以打开我们之前转化好的.SPD文件。操作如下图: 2.设置层叠信息和过孔焊盘参数 层叠信息:每层的介质厚度、材料、介电常数、介质损耗角等,如

刘小同学的博客 1万+

超声波雾化驱动设计:专用芯片FM8118替代MCU的工程实践

超声波雾化是一种基于压电陶瓷谐振原理的高频能量转换技术,其核心在于在1.6–2.4MHz频段精准激励雾化片以实现高效水分子破碎。传统采用通用MCU配合分立MOSFET的方案受限于PWM频率上限、栅极驱动能力不足及EMI控制困难,导致雾化效率低、温升高、可靠性差。专用雾化芯片(如FM8118)通过集成2.1MHz振荡器、零电压开关(ZVS)控制与过流/过热双重保护,从架构层面解决高频功率驱动的本质约束,显著提升驱动效率(达83.7%)与系统鲁棒性。该技术广泛适用于桌面加湿器、医疗雾化器、农业微喷等对体积、功耗

weixin_34620658的博客 404

安卓学习日志 Day07 — 音频播放

彭格列家族永垂不朽!【家庭教师AMV/Beat Drop】

HEY-BLOOD的博客 1690

2024年上半年网络工程师下午真题及答案解析

位于MPLS域边缘、连接其他网络的LSR称为( 3 ),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时,MPLS入口设备分析IP报文的内容并为其添加合适的标签,所有MPLS网络中的LSR根据标签转发数据,当该IP报文离开MPLS网络时,标签由出口LER弹出。LSP的出口LER称为( 6 )。某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。

bsefef的博客 2471

安卓使用MediaPlayer播放音频

今天需要用到安卓中的MediaPlayer播放音频,因此进行了学习。具体步骤大概有以下几步,操作不难。 1、定义及初始化类 private MediaPlayer mediaPlayer = new MediaPlayer(); private void initMediaPlayer(){ try{ mediaPlayer = MediaPlayer....

水舞残枫的博客 728

华北理工大学以升实验班蓝桥杯选拔赛题解

文章目录华北理工大学以升实验班蓝桥杯选拔赛题解A:期末考试题目描述题目讲解代码B:月份题目描述题目讲解代码C:打饭题目描述题目讲解代码D : 正弦波信号题目描述题目讲解代码E : 亲爱的长方形题目描述题目讲解代码F:挖金子题目描述题目讲解代码G : 金金的游戏题目描述题目讲解代码H : 区间和题目描述题目讲解代码详细视频讲解请关注华北理工大学b站账号。 华北理工大学以升实验班蓝桥杯选拔赛题解 A:期末考试 题目描述 Description 期末考试过去许多天了,如今成绩都出来了,那么现在让我们对成绩我分个类

Qq1739206233的博客 1127

智能车图像处理1-基础图像规格

从厂家摄像头的库函数中,我们可以直接得到完整图像的灰度数组,经过二值化之后(算力允许,可以考虑大津法),就是我们要处理的0-1二值图像了。本系列所有的文章中,我们的图像规格如下。

taiyuezyh的博客 4321

安卓中如何播放音频

安卓中如何播放音频 1 首先在app文件夹下创建一个assets文件夹,将你的音频文件放在该文件下。 2 代码逻辑 加载文件资源 try { mediaPlayer.setDataSource(getAssets().openFd("Lover.mp3"));//加载asset文件夹的资源 mediaPlayer.prepare();//文件资源准备 } catch (IOException e) { e.print

zhimingdaye的博客 543

PCL 点云八叉树射线相交

PCL 点云八叉树射线相交

dayuhaitang1的博客 850

android 小音频频繁播放

android 音频播放

Main_Stage的专栏 2681

④ Django创建用户中心应用users,扩展用户信息

本章配套视频教程 Django创建用户中心应用users,扩展用户数据 在settings.py文件中配置项目 1、语言配置:LANGUAGE_CODE = 'zh-hans’ 2、时区配置:TIME_ZONE = 'Asia\Shanghai’ 3、模板路径配置:‘DIRS’: [os.path.join(BASE_DIR, ‘templates’)], 并创建templates文件

轻编程的博客 670

【Apache Paimon】-- 13 -- 利用 paimon-flink-action 同步 mysql 表数据

在Paimon 诞生以前,若 mysql/pg 等数据源的表结构发生变化时,我们有几种处理方式(1)人工通知(比如常规的使用邮件),然后运维人员手动同步到数据仓库中(2)使用 flink 消费 DDL binlog ,然后自动更新 Hive 的外部表和内部表 schema那么现在,有了 Paimon ,我们可以利用其特性,自动识别并同步 DDL 这些变化,并同步至 hive 的 paimon 格式表中。

欢迎来到我的博客,一起探索代码里的世界! 1249

android 如何播放音频,android如何播放和录制音频

视频录制功能正在走来,在Androidsdk中有与之相关的类:android.media.MediaRecorder。当然,因为模拟器上没有提供必要的硬件设施,所以在学习过程中并不能实现。Media能够播放来自任何地方的文件:一个实际的文件资源,系统中的一个文件或者是一个可用的网络链接。2.1如何播放media音频1、将文件放到你的工程的res/raw文件夹中,在这个文件夹中,Eclipse插件将...

weixin_28738397的博客 1312

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android中音频文件的播放

上一回我们讲了如何去录制一个音频文件。这次我们讲讲如何播放一个音频文件。录制音频,一般我们在聊天发送语音,或者语音上传的时候会用到。那既然需要录制,那一定是要有播放功能的。同时,我们播放音频,音乐也是需要播放功能。所以今天我就说说音频的播放功能。 1.媒体播放器MediaPlayer简介 既然是播放音频,那就要用到MediaPlayer。MediaPlayer是Android自带的音频和视频播放器,可用于播放MediaRecorder录制的媒体文件,包括amr,aac,mp4,3gp,还有mp3,wav

水月洞天 3011

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android音频播放

在Android中播放音频文件一般使用MediaPlayer类来实现,他对多种格式的音频文件提供了非常全面的控制方法,从而使得播放器变得十分简单。 File file = new File(Environment.getExternalStorageDirectory(), "456.mp3"); mediaPlayer.setDataSource(file.getPath()); // 指定音频文件的路径 mediaPlayer.prepare(); // 让MediaPlaye...

qq_35698774的博客 2949

Android 播放音频的几种方式

一、采用SoundPool来播放音频 private SoundPool soundPool; private HashMap<Integer, Integer> soundMap = new HashMap<Integer, Integer>(); soundPool = new SoundPool(100, AudioManager.STREAM_SYSTEM, 5); //加载音频资源 private void loadAudioResource() { L

wq892373445的博客 759
上一篇: Android 流方式发送XML数据
下一篇: Android JS双向调用
lk231_java
博客等级 码龄15年 0粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值